Systems and methods for compensation analysis and targeted, corrective program generation

ABSTRACT

Systems and methods for objectively assessing physical performance of a subject and generating programs specifically tailored to correct any physical deficiencies identified during that assessment. Generally, the assessments may produce results in binary format so that the assessments may be conducted objectively. Additionally, the recommended exercise programs may be generated based on the results of those assessments so that the recommended exercise programs target the identified physical deficiencies.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/846,345, filed Sep. 4, 2015, and entitled “Systems and Methods forCompensation Analysis and Targeted, Corrective Program Generation,”which claims priority to, the benefit under 35 U.S.C. § 119 of, andincorporates by reference herein in its entirety U.S. Provisional PatentApplication No. 62/046,520, filed Sep. 5, 2014, and entitled “Systemsand Methods for Assessing and Improving Physical Capability”, both ofwhich are incorporated by reference in their entireties.

TECHNICAL FIELD

The present systems and methods relate generally to sports science, andmore particularly to human performance and injury prevention. Thepresent disclosure describes useful embodiments in medical, fitness,sport performance, education, home therapy, and vocational trainingenvironments, among others.

BACKGROUND

Human beings should move efficiently and effectively to avoid injury andenhance functional performance capacity and output. Current methods ofassessing physical movement to prevent injury and optimize performanceinclude measurements of an individual's ability to perform strength,flexibility, or endurance tests, but these methods are static testsperformed by a third party in a highly subjective process that oftenlead to inconsistent and inaccurate results. Moreover, creation oftraining programs post-assessment often requires manual programdevelopment, which may not accurately achieve the desired results ofimproving movement efficiency and physical fitness to prevent injury andoptimize performance.

Therefore, there is a long-felt but unresolved need for a system ormethod that generates targeted, corrective exercise programs based on acompensation analysis.

BRIEF SUMMARY OF THE DISCLOSURE

Briefly described, and according to one embodiment, aspects of thepresent disclosure generally relate to systems and methods forobjectively assessing physical performance of a subject and generatingprograms specifically tailored to correct any physical deficienciesidentified during that assessment. Generally, the assessments may beperformed on subjects (e.g., patients, athletes, etc.) of any age, sex,or fitness level. Additionally, in various embodiments, the system maybe implemented as a web-based software system that is used to record theresults of an assessment or a perceptual computing system withaccompanying sensor system (e.g., camera, etc.) that is used to automatethe recording of the assessment. In various embodiments, the results ofthe assessment are then fed into an algorithm that determines arecommended exercise program to improve the physical capabilities of thesubject over time.

In various embodiments, the subject may perform tasks as part of anassessment the results of which are recorded in binary (e.g., “yes” or“no”) format. Generally, this assessment is referred to herein as the“movement efficiency test.” In one embodiment, the subject performsseveral different tasks as part of the movement efficiency test (e.g.,2-leg squat, 2-leg squat with heel lift, 1-leg squat, push-up, shouldermovement, trunk/thoracic spine movement, cervical spine movement, etc.).Generally, while the subject is performing the tasks, an observer, suchas a practitioner or a perceptual computing device, monitors themovements of the subject to collect data and determine whether anycompensations are present. In various embodiments, “compensations”generally refer to physical deficiencies that result in animproper/potentially harmful movement of the body (e.g., the rightgluteus medius is not strong, so the right knee moves inwardly duringthe 2-leg squat). If a compensation is present, then the observerindicates “yes” the compensation is present. If, however, a compensationis not present, then the observer indicates “no” the compensation is notpresent (or, in one embodiment, “no” is the default setting, so theobserver does not provide any additional indication). As will occur toone having ordinary skill in the art, by recording results only inbinary format, the assessment generally removes the subjectivity thatcould occur when recording results in non-binary format. For example,instead of a practitioner or subject being required to determine howmuch a knee rotates inwardly during a 2-leg squat (e.g., none, some,severe, etc.) and the distinctions between the categorizations (e.g.,how much is some rotation versus severe rotation), the practitioner orsubject may record the presence of the movement regardless of how slightor severe the movement may be (e.g., some knee rotation is recorded inthe same manner as severe knee rotation). Thus, the system objectivelyidentifies the subject's performance on the test.

In one embodiment, the “movement efficiency screen” comprises anabbreviated assessment for determining whether certain predefinedcompensations are present in the subject (e.g., wherein the subjectperforms the 2-leg squat, 2-leg squat with heel lift, 1-leg squat,etc.). Generally, the results of the movement efficiency screen arerecorded in the same manner as those of the movement efficiency test(e.g., binary format). As will occur to one having ordinary skill in theart, the movement efficiency screen may be used to quickly identifycertain particular compensations that a subject may present or toquickly check a subject's progress after following a recommendedexercise program for a predetermined period of time.

The subject, in various embodiments, may also perform tasks as part ofan assessment the results of which are not recorded in binary format.Generally, this assessment is referred to herein as the “range of motiontest.” In various embodiments, the “range of motion test” generallyrefers to an assessment of the range of motion that a subject possessesin a particular joint (e.g., hip) by measuring the range of motion (indegrees) in that particular joint for a particular movement (e.g., hipabduction). To conduct a range of motion test, a practitioner usuallyuses a goniometer to measure the range of the motion of the measuredjoints. In one embodiment, the range of motion of a particular joint iscompared to an optimal range (e.g., as suggested by the American Academyof Orthopedic Surgeons) for that particular joint and movement andscored as a percentage of the optimal range. In another embodiment, thepercentage of the optimal range is recorded by the system in binaryformat (e.g., “yes” the percentage is below a certain threshold or “no”it is not).

In various embodiments, as part of an assessment, the subject mayperform a combination of tests for which results are recorded in binaryformat and tests for which results are not recorded in binary format(e.g., a movement efficiency screen and a range of motion test, etc.).Generally, by performing multiple tests as part of a single assessment,the system is able to collect additional data points regarding thesubject and generate a more tailored recommended exercise program.

Based on the results of the assessment, in various embodiments, arecommended exercise program is generated that is tailored to theparticular subject and designed to correct the compensations and otherphysical deficiencies identified by the assessment. Generally, therecommended exercise program is generated based on various algorithmsthat sort, prioritize, and correlate the physical deficiencies withexercises that target the muscle groups impacted by the deficiencies. Invarious embodiments, the recommended exercise programs comprise threedifferent strategies: “restore,” “activate,” and “move.” In oneembodiment, the restore strategy should be performed before the activatestrategy, which should be performed before the move strategy. Generally,the sequencing of the strategies combined with the specific exerciseacute variable progressions (e.g., sets, repetitions, etc.) within eachstrategy provide specific physiological and physical outcomes that havebeen researched and proven to improve movement efficiency/quality ofmovement. In various embodiments, the restore strategy comprisesexercises such as foam rolling and static stretching of particularmuscles (e.g., foam rolling hamstring, etc.) that inhibit, lengthen, andimprove mobility of soft-tissue and joints caused by over-performingmuscles, the activate strategy comprises exercises such as isolatedmuscle activation exercises (e.g., should external rotation, etc.) thatactivate/strengthen under-performing muscles, and the move strategycomprises exercises such as dynamic exercises that require the use ofvarious integrated muscles (e.g., front lunge to shoulder press, etc.)to reinforce the activation/strengthening and integrated functionalre-education of the body.

Generally, the recommended exercise programs comprise a predeterminednumber of days (e.g., 3 or 5) of exercises that may be performed indifferent settings. In various embodiments, the predetermined number ofdays and different exercises in different settings may be generated atone time from the same data set (e.g., same input but different variedoutputs) so that a practitioner and/or patient does not need to requestadditional exercises, settings, etc. In one embodiment, the settingscomprise a self-care setting wherein the subject performs the exercisesby himself/herself, a practitioner light setting wherein the subjectperforms the exercises with the assistance of a certified practitioner(e.g., strength and conditioning coach, personal trainer, etc.), and apractitioner pro setting wherein the subject performs the exercises withthe assistance of a licensed practitioner (e.g., physical therapist,chiropractor, etc.). In various embodiments, these settings permit therecommended exercise program to be modified to better accommodate thesubject and adhere to professional scope of practice guidelines. Forexample, if a particular subject is a professional athlete with aserious injury, then the particular subject may perform, as part ofhis/her recommended exercise program, only those exercises in thepractitioner pro setting. In contrast, an amateur athlete with a minorinjury may perform only those exercises in the self-care setting.

In various embodiments, a practitioner may modify both the assessmentbeing performed (e.g., to better suit the needs of the subject orfurther investigate a perceived deficiency) and the recommended exerciseprogram (e.g., to occur as part of a certain schedule or includeexercises that the practitioner prefers). For example, the practitionermay decide that the subject would benefit from performing both amovement efficiency test and a range of motion test. Accordingly, thesystem will incorporate the results of both tests to determine therecommended exercise program. Additionally, the practitioner may decidethat the subject should alternate between three days of self-care andthree days of practitioner light exercises and schedule the recommendedexercise program accordingly. Similarly, the practitioner may substitutea particular preferred exercise (e.g., pushups) for an exercise in therecommended exercise program (e.g., bench press) that the practitionerdoes not want the subject to perform.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for completion of aphysical evaluation test relating to an athlete; retrieving a predefinedtemplate from a system database corresponding to the physical evaluationtest, the predefined template comprising data relating to a plurality ofphysical movement tasks for performance by the athlete, each physicalmovement task comprising a particular static, transitional, or dynamicmovement and being associated with one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of the presence of theparticular identifiable compensation during completion by the athlete ofthe respective physical movement task and a second outcome indicative ofthe absence of the particular identifiable compensation duringcompletion by the athlete of the respective physical movement task,wherein the identifiable compensation is present when a particular bodypart of the athlete moves in a predefined manner, whereby the movementindicates that the athlete possesses a particular physical deficiency;displaying, via the electronic computing device, the plurality ofphysical movement tasks for performance by the athlete; receiving, forat least one of the plurality of physical movement tasks, a selection ofeither the first outcome or the second outcome of the particularidentifiable compensation; and saving, via the electronic computingdevice, the received selection of either the first outcome or the secondoutcome of the particular identifiable compensation in the systemdatabase in association with an instance of the physical evaluation testand the respective physical movement task.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for completion of aphysical evaluation test relating to a test subject; retrieving apredefined template from a system database corresponding to the physicalevaluation test, the predefined template comprising data relating to aplurality of physical movement tasks for performance by the testsubject, each physical movement task being associated with one or moreidentifiable compensations, each identifiable compensation having onlytwo possible outcomes comprising a first outcome indicative of thepresence of the particular identifiable compensation during completionby the test subject of the respective physical movement task and asecond outcome indicative of the absence of the particular identifiablecompensation during completion by the test subject of the respectivephysical movement task; displaying, via the electronic computing device,the plurality of physical movement tasks for performance by the testsubject; receiving, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; and saving, via theelectronic computing device, the received selection of either the firstoutcome or the second outcome of the particular identifiablecompensation in the system database in association with an instance ofthe physical evaluation test and the respective physical movement task.

In one embodiment, a system, comprising: an electronic computing device;a database having stored therein one or more predefined templatescorresponding to one or more physical evaluation tests; and a processoroperatively connected with the electronic computing device and thedatabase, the processor operative to: receive an electronic request fromthe electronic computing device for completion of a particular physicalevaluation test relating to a test subject; retrieve a particularpredefined template from the database corresponding to the particularphysical evaluation test, the particular predefined template comprisingdata relating to a plurality of physical movement tasks for performanceby the test subject, each physical movement task being associated withone or more identifiable compensations, each identifiable compensationhaving only two possible outcomes comprising a first outcome indicativeof the presence of the particular identifiable compensation duringcompletion by the test subject of the respective physical movement taskand a second outcome indicative of the absence of the particularidentifiable compensation during completion by the test subject of therespective physical movement task; display, via the electronic computingdevice, the plurality of physical movement tasks for performance by thetest subject; receive, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; and save, in thedatabase, the received selection of either the first outcome or thesecond outcome of the particular identifiable compensation in the systemdatabase in association with an instance of the particular physicalevaluation test and the respective physical movement task.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for completion of aphysical evaluation test relating to a test subject; retrieving apredefined template from a system database corresponding to the physicalevaluation test, the predefined template comprising data relating to aplurality of physical movement tasks for performance by the testsubject, each physical movement task being associated with one or moreidentifiable compensations, each identifiable compensation having onlytwo possible outcomes comprising a first outcome indicative of thepresence of the particular identifiable compensation during completionby the test subject of the respective physical movement task and asecond outcome indicative of the absence of the particular identifiablecompensation during completion by the test subject of the respectivephysical movement task; displaying, via the electronic computing device,the plurality of physical movement tasks for performance by the testsubject; recording, via a sensor, performance data corresponding to theperformance by the test subject of at least one of the plurality ofphysical movement tasks; identifying, from the performance data, eitherthe first outcome or the second outcome of the particular identifiablecompensation; and saving the identified first outcome or second outcomeof the particular identifiable compensation in the system database inassociation with an instance of the physical evaluation test and therespective physical movement task.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for generation ofan exercise program customized for an athlete; retrieving, from a systemdatabase, electronic data corresponding to prior completion by theathlete of a physical evaluation test, the electronic data comprisingcompensation data indicating the presence of one or more physicalcompensations of the athlete; determining one or more physical exercisesdesigned to improve the one or more physical compensations of theathlete by comparing the compensation data indicating the presence ofthe one or more physical compensations of the athlete with one or morepredefined rules defining a plurality of physical exercises and one ormore body parts targeted by the plurality of physical exercises; sortingthe one or more exercises into exercise groups, wherein a particularexercise group comprises one or more particular exercises that target aparticular body part associated with a particular physical compensation;scheduling at least one exercise from each exercise group, based on oneor more predefined criteria, in a predefined order; and generating anexercise program for completion by the athlete, the exercise programcomprising the at least one exercise from each exercise group in thepredefined order.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for generation ofan exercise program customized for a test subject; retrieving, from asystem database, electronic data corresponding to prior completion bythe test subject of a physical evaluation test, the electronic datacomprising compensation data indicating the presence of one or morephysical compensations of the test subject; determining one or morephysical exercises designed to improve the one or more physicalcompensations of the test subject by comparing the compensation dataindicating the presence of the one or more physical compensations of thetest subject with one or more predefined rules defining a plurality ofphysical exercises; and generating an exercise program for completion bythe test subject, the exercise program comprising the one or morephysical exercises.

In one embodiment, a system, comprising: an electronic computing device;a database having stored therein electronic data corresponding to priorcompletion by a test subject of a physical evaluation test; and aprocessor operatively connected with the electronic computing device andthe database, the processor operative to: receive an electronic requestfrom the electronic computing device for generation of an exerciseprogram customized for the test subject; retrieve, from the database,the electronic data corresponding to prior completion by the testsubject of the physical evaluation test, the electronic data comprisingcompensation data indicating the presence of one or more physicalcompensations of the test subject; determine one or more physicalexercises designed to improve the one or more physical compensations ofthe test subject by comparing the compensation data indicating thepresence of the one or more physical compensations of the test subjectwith one or more predefined rules defining a plurality of physicalexercises; and generate an exercise program for completion by the testsubject, the exercise program comprising the one or more physicalexercises.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for generation ofone or more exercise programs customized for an athlete; retrieving,from a system database, electronic data corresponding to priorcompletion by the athlete of a physical evaluation test; determining atleast two exercise settings corresponding to the athlete; determining,for the first exercise setting, a first set of physical exercisesdesigned to improve physical performance of the athlete by comparing theelectronic data with one or more predefined rules defining a pluralityof physical exercises corresponding to the first setting and one or morebody parts targeted by the plurality of physical exercises correspondingto the first setting; determining, for the second exercise setting, asecond set of physical exercises designed to improve physicalperformance of the athlete by comparing the electronic data with one ormore predefined rules defining a plurality of physical exercisescorresponding to the second setting and one or more body parts targetedby the plurality of physical exercises corresponding to the secondsetting; sorting the first set of physical exercises into a first set ofexercise groups and sorting the second set of physical exercises into asecond set of exercise groups, wherein a particular exercise groupcomprises one or more particular exercises that target a particular bodypart associated with a particular physical compensation; scheduling atleast one exercise from each exercise group in the first set of exercisegroups, based on one or more predefined criteria corresponding to thefirst setting, in a predefined order corresponding to the first setting;scheduling at least one exercise from each exercise group in the secondset of exercise groups, based on one or more predefined criteriacorresponding to the second setting, in a predefined order correspondingto the second setting; and generating at least two exercise programs forcompletion by the athlete, a first exercise program comprising the atleast one exercise from each exercise group in the first set of exercisegroups in the predefined order corresponding to the first setting, and asecond exercise program comprising the at least one exercise from eachexercise group in the second set of exercise groups in the predefinedorder corresponding to the second setting.

In one embodiment, a method, comprising the steps of: receiving anelectronic request at an electronic computing device for generation ofone or more exercise programs customized for a test subject; retrieving,from a system database, electronic data corresponding to priorcompletion by the test subject of a physical evaluation test;determining at least two exercise settings corresponding to the testsubject; determining, for the first exercise setting, a first set ofphysical exercises designed to improve physical performance of the testsubject by comparing the electronic data with one or more predefinedrules defining a plurality of physical exercises corresponding to thefirst setting; determining, for the second exercise setting, a secondset of physical exercises designed to improve physical performance ofthe test subject by comparing the electronic data with one or morepredefined rules defining a plurality of physical exercisescorresponding to the second setting; and generating at least twoexercise programs for completion by the test subject, a first exerciseprogram comprising the first set of exercises and a second exerciseprogram comprising the second set of exercises.

In one embodiment, a system, comprising: an electronic computing device;a database having stored therein electronic data corresponding to priorcompletion by a test subject of a physical evaluation test; and aprocessor operatively connected with the electronic computing device andthe database, the processor operative to: receive an electronic requestfrom the electronic computing device for generation of one or moreexercise programs customized for a test subject; retrieve, from thedatabase, the electronic data corresponding to prior completion by thetest subject of a physical evaluation test; determine at least twoexercise settings corresponding to the test subject; determine, for thefirst exercise setting, a first set of physical exercises designed toimprove physical performance of the test subject by comparing theelectronic data with one or more predefined rules defining a pluralityof physical exercises corresponding to the first setting; determine, forthe second exercise setting, a second set of physical exercises designedto improve physical performance of the test subject by comparing theelectronic data with one or more predefined rules defining a pluralityof physical exercises corresponding to the second setting; and generateat least two exercise programs for completion by the test subject, afirst exercise program comprising the first set of exercises and asecond exercise program comprising the second set of exercises.

According to one aspect of the present disclosure, the method, furthercomprising the steps of: determining, based on the predefined template,whether selections of either the first outcome or the second outcomehave been received for all of the one or more identifiable compensationsrelating to the respective physical movement task; upon determinationthat one or more selections have not been received for one or moreparticular identifiable compensations, requesting, via the electroniccomputing device, selection of either the first outcome or the secondoutcome for the one or more particular identifiable compensations;receiving a selection of either the first outcome or the second outcomefor the one or more particular identifiable compensations; and saving,via the electronic computing device, the received selection of eitherthe first outcome or the second outcome for the one or more particularidentifiable compensations in the system database in association with aninstance of the physical evaluation test and the respective physicalmovement task. Furthermore, the method, further comprising the steps of:determining, based on the predefined template, whether each of theplurality of physical movement tasks has been performed by the athlete;upon determination that one or more particular physical movement taskshave not been performed by the athlete, displaying, via the electroniccomputing device, the one or more particular physical movement tasks forperformance by the athlete; receiving, for the one or more particularphysical movement tasks, a selection of either the first outcome or thesecond outcome of the particular identifiable compensation; and saving,via the electronic computing device, the received selection of eitherthe first outcome or the second outcome of the particular identifiablecompensation in the system database in association with an instance ofthe physical evaluation test and the respective physical movement task.Moreover, the method, wherein the electronic computing device comprisesa perceptual computing device. Further, the method, wherein thereceiving step further comprises receiving, from the perceptualcomputing device, electronic data for at least one of the plurality ofphysical movement tasks, and determining, based on the electronic data,a selection of either the first outcome or the second outcome of theparticular identifiable compensation. Additionally, the method, whereinthe receiving step further comprises: recording, via a perceptualcomputing device, performance data corresponding to a performance by theathlete of the at least one of the plurality of physical movement tasks;determining, via the perceptual computing device, whether the firstoutcome or the second outcome of the particular identifiablecompensation corresponds to the performance data; and selecting, basedupon determining whether the first outcome or the second outcome of theparticular identifiable compensation corresponds to the performancedata, either the first outcome or the second outcome of the particularidentifiable compensation. Also, the method, further comprising the stepof generating, based on the received selections, at least one exerciseprogram for the athlete.

According to one aspect of the present disclosure, the method, furthercomprising the steps of: determining, based on the predefined template,whether each of the plurality of physical movement tasks has beenperformed by the test subject; upon determination that one or moreparticular physical movement tasks have not been performed by the testsubject, displaying, via the electronic computing device, the one ormore particular physical movement tasks for performance by the testsubject; receiving, for the one or more particular physical movementtasks, a selection of either the first outcome or the second outcome ofthe particular identifiable compensation; and saving, via the electroniccomputing device, the received selection of either the first outcome orthe second outcome of the particular identifiable compensation in thesystem database in association with an instance of the physicalevaluation test and the respective physical movement task. Furthermore,the method, wherein the physical movement task comprises a particulartransitional movement. Moreover, the method, wherein the physicalmovement task comprises a particular dynamic movement. Further, themethod, wherein the physical movement task comprises a measurement of arange of motion of a particular joint of the test subject. Additionally,the method, wherein the physical movement task comprises a particularstatic movement. Also, the method, wherein the identifiable compensationis present when a particular body part of the test subject moves in apredefined manner, whereby the movement indicates that the test subjectpossesses a particular physical deficiency. Furthermore, the method,wherein the receiving step further comprises: recording, via aperceptual computing device, a performance by the test subject of the atleast one of the plurality of physical movement tasks; determining, viathe perceptual computing device, whether the first outcome or the secondoutcome of the particular identifiable compensation corresponds to theperformance by the test subject of the at least one of the plurality ofphysical movement tasks; and selecting, based upon determining whetherthe first outcome or the second outcome of the particular identifiablecompensation corresponds to the performance, either the first outcome orthe second outcome of the particular identifiable compensation.Moreover, the method, further comprising the step of generating, basedon the received selections, at least one exercise program for the testsubject.

According to one aspect of the present disclosure, the system, whereinthe processor is further operative to: determine, based on theparticular predefined template, whether selections of either the firstoutcome or the second outcome have been received for all of the one ormore identifiable compensations from the respective physical movementtask; upon determination that one or more selections have not beenreceived for one or more particular identifiable compensations, request,via the electronic computing device, selection of either the firstoutcome or the second outcome for the one or more particularidentifiable compensations; receive a selection of either the firstoutcome or the second outcome for the one or more particularidentifiable compensations; and save, in the database, the receivedselection of either the first outcome or the second outcome for the oneor more particular identifiable compensations in the system database inassociation with an instance of the particular physical evaluation testand the respective physical movement task. Further, the system, whereinthe processor is further operative to: determine, based on theparticular predefined template, whether each of the plurality ofphysical movement tasks has been performed by the test subject; upondetermination that one or more particular physical movement tasks havenot been performed by the test subject, display, via the electroniccomputing device, the one or more particular physical movement tasks forperformance by the test subject; receive, for the one or more particularphysical movement tasks, a selection of either the first outcome or thesecond outcome of the particular identifiable compensation; and save, inthe database, the received selection of either the first outcome or thesecond outcome of the particular identifiable compensation in the systemdatabase in association with an instance of the particular physicalevaluation test and the respective physical movement task.

According to one aspect of the present disclosure, the system, whereinthe particular physical evaluation test comprises a first particularphysical evaluation test, the particular predefined template comprises afirst predefined template, and the processor is further operative to:receive an electronic request from the electronic computing device forcompletion of a second particular physical evaluation test relating tothe test subject; retrieve a second particular predefined template fromthe database corresponding to the second particular physical evaluationtest, the second particular predefined template comprising data relatingto a plurality of physical movement tasks for performance by the testsubject, each physical movement task having one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of the presence of theparticular identifiable compensation during successful completion by thetest subject of the respective physical movement task and a secondoutcome indicative of the absence of the particular identifiablecompensation during successful completion by the test subject of therespective physical movement task; display, via the electronic computingdevice, the plurality of physical movement tasks for performance by thetest subject; receive, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; and save, in thedatabase, the received selection of either the first outcome or thesecond outcome of the particular identifiable compensation in the systemdatabase in association with an instance of the second particularphysical evaluation test and the respective physical movement task.Also, the system, wherein the physical movement task is selected fromthe group comprising a particular static movement, a particulartransitional movement, a particular dynamic movement, or a measurementof a range of motion of a particular joint of the test subject.Furthermore, the system, wherein the identifiable compensation ispresent when a particular body part of the test subject moves in apredefined manner, whereby the movement indicates that the test subjectpossesses a particular physical deficiency. Moreover, the system,further comprising a perceptual computing device operatively connectedwith the processor, the processor further operative to: record, via theperceptual computing device, a performance by the test subject of the atleast one of the plurality of physical movement tasks; determine, viathe perceptual computing device, whether the first outcome or the secondoutcome of the particular identifiable compensation corresponds to theperformance by the test subject of the at least one of the plurality ofphysical movement tasks; and select, based upon determining whether thefirst outcome or the second outcome of the particular identifiablecompensation corresponds to the performance, either the first outcome orthe second outcome of the particular identifiable compensation. Further,the system, wherein the processor is further operative to generate,based on the received selections, at least one exercise program for thetest subject.

According to one aspect of the present disclosure, the method, whereinthe sensor is selected from the group comprising a video camera, amotion-sensing camera, or a perceptual computing device.

According to one aspect of the present disclosure, the method, whereinthe generating step further comprises the steps of: receiving, via theelectronic computing device, one or more modifications to the exerciseprogram; and modifying the exercise program based on the one or moremodifications to the exercise program. Additionally, the method, whereinthe one or more predefined criteria define one or more interactionsbetween the at least one exercises from each exercise group, the one ormore interactions impacting an efficacy of the at least one exercisesfrom each exercise group to improve the one or more physicalcompensations of the athlete. Also, the method, wherein the one or morepredefined criteria define one or more relationships between the one ormore physical compensations, the one or more relationships prioritizingthe one or more physical compensations. Furthermore, the method, whereinthe one or more predefined criteria define one or more associationsbetween the at least one exercises from each exercise group and the oneor more physical compensations. Moreover, the method, wherein theelectronic data further corresponds to prior completion by the athleteof one or more additional physical evaluation tests. Further, themethod, wherein the compensation data comprises only two possible valuescorresponding to a first outcome indicative of the presence of aparticular compensation of the athlete and a second outcome indicativeof the absence of a particular compensation of the athlete.

According to one aspect of the present disclosure, the method, whereinthe generating step further comprises the steps of: sorting the one ormore exercises into exercise groups, wherein a particular exercise groupcomprises one or more particular exercises that target a particular bodypart associated with a particular physical compensation; and schedulingat least one exercise from each exercise group, based on one or morepredefined criteria, in a predefined order. Additionally, the method,wherein the one or more predefined criteria define one or moreinteractions between the at least one exercises from each exercisegroup, the one or more interactions impacting an efficacy of the atleast one exercises from each exercise group to improve the one or morephysical compensations of the test subject. Also, the method, whereinthe electronic data further corresponds to prior completion by the testsubject of one or more additional physical evaluation tests.Furthermore, the method, wherein the one or more predefined rulesdefining a plurality of physical exercises further define one or morebody parts targeted by the plurality of physical exercises. Moreover,the method, wherein the compensation data comprises only two possiblevalues corresponding to a first outcome indicative of the presence of aparticular compensation of the test subject and a second outcomeindicative of the absence of a particular compensation of the testsubject.

According to one aspect of the present disclosure, the system, whereinthe processor is further operative, as part of the generation of theexercise program, to: sort the one or more exercises into exercisegroups, wherein a particular exercise group comprises one or moreparticular exercises that target a particular body part associated witha particular physical compensation; and schedule at least one exercisefrom each exercise group, based on one or more predefined criteria, in apredefined order. Further, the system, wherein the processor is furtheroperative, as part of the generation of the exercise program, to:receive, from the electronic computing device, one or more modificationsto the exercise program; and modify the exercise program based on theone or more modifications to the exercise program. Additionally, thesystem, wherein the one or more predefined criteria define one or moreinteractions between the at least one exercises from each exercisegroup, the one or more interactions impacting an efficacy of the atleast one exercises from each exercise group to improve the one or morephysical compensations of the test subject. Also, the system, whereinthe one or more predefined criteria define one or more relationshipsbetween the one or more physical compensations, the one or morerelationships prioritizing the one or more physical compensations.Furthermore, the system, wherein the one or more predefined criteriadefine one or more associations between the at least one exercises fromeach exercise group and the one or more physical compensations.Moreover, the system, wherein the electronic data further corresponds toprior completion by the test subject of one or more additional physicalevaluation tests. Further, the system, wherein the one or morepredefined rules defining a plurality of physical exercises furtherdefine one or more body parts targeted by the plurality of physicalexercises.

According to one aspect of the present disclosure, the method, whereinthe generating step further comprises the steps of: receiving, via theelectronic computing device, one or more modifications to at least oneof the exercise programs; and modifying the at least one exerciseprogram based on the one or more modifications to the exercise program.Additionally, the method, wherein the one or more predefined criteriacorresponding to the first setting define one or more interactionsbetween the at least one exercises from each exercise group in the firstset of exercise groups, the one or more interactions impacting anefficacy of the at least one exercises from each exercise group in thefirst set of exercise groups to improve the one or more physicalcompensations of the athlete, and the one or more predefined criteriacorresponding to the second setting define one or more interactionsbetween the at least one exercises from each exercise group in thesecond set of exercise groups, the one or more interactions impacting anefficacy of the at least one exercises from each exercise group in thesecond set of exercise groups to improve the one or more physicalcompensations of the athlete. Also, the method, wherein the one or morepredefined criteria corresponding to the first setting and the secondsetting define one or more relationships between the one or morephysical compensations, the one or more relationships prioritizing theone or more physical compensations. Furthermore, the method, wherein theone or more predefined criteria corresponding to the first settingdefine one or more associations between the at least one exercises fromeach exercise group in the first set of exercise groups and the one ormore physical compensations, and the one or more predefined criteriacorresponding to the second setting define one or more associationsbetween the at least one exercises from each exercise group in thesecond set of exercise groups and the one or more physicalcompensations. Moreover, the method, wherein the electronic data furthercorresponds to prior completion by the athlete of one or more additionalphysical evaluation tests.

According to one aspect of the present disclosure, the method, whereinthe generating step further comprises the steps of: sorting the firstset of physical exercises into a first set of exercise groups andsorting the second set of physical exercises into a second set ofexercise groups, wherein a particular exercise group comprises one ormore particular exercises that target a particular body part associatedwith a particular physical compensation; scheduling at least oneexercise from each exercise group in the first set of exercise groups,based on one or more predefined criteria corresponding to the firstsetting, in a predefined order corresponding to the first setting, inthe first exercise program; and scheduling at least one exercise fromeach exercise group in the second set of exercise groups, based on oneor more predefined criteria corresponding to the second setting, in apredefined order corresponding to the second setting, in the secondexercise program. Further, the method, wherein the one or morepredefined criteria corresponding to the first setting define one ormore interactions between the at least one exercises from each exercisegroup in the first set of exercise groups, the one or more interactionsimpacting an efficacy of the at least one exercises from each exercisegroup in the first set of exercise groups to improve the one or morephysical compensations of the test subject, and the one or morepredefined criteria corresponding to the second setting define one ormore interactions between the at least one exercises from each exercisegroup in the second set of exercise groups, the one or more interactionsimpacting an efficacy of the at least one exercises from each exercisegroup in the second set of exercise groups to improve the one or morephysical compensations of the test subject. Additionally, the method,wherein the electronic data further corresponds to prior completion bythe test subject of one or more additional physical evaluation tests.Also, the method, wherein the one or more predefined rules defining aplurality of physical exercises corresponding to the first setting andthe second setting further define one or more body parts targeted by theplurality of physical exercises.

According to one aspect of the present disclosure, the system, whereinthe processor is further operative, as part of the generation of theexercise program, to: sort the first set of physical exercises into afirst set of exercise groups and sort the second set of physicalexercises into a second set of exercise groups, wherein a particularexercise group comprises one or more particular exercises that target aparticular body part associated with a particular physical compensation;schedule at least one exercise from each exercise group in the first setof exercise groups, based on one or more predefined criteriacorresponding to the first setting, in a predefined order correspondingto the first setting, in the first exercise program; and schedule atleast one exercise from each exercise group in the second set ofexercise groups, based on one or more predefined criteria correspondingto the second setting, in a predefined order corresponding to the secondsetting, in the second exercise program.

According to one aspect of the present disclosure, the system, whereinthe processor is further operative, as part of the generation of theexercise program, to: receive, via the electronic computing device, oneor more modifications to at least one of the exercise programs; andmodify the at least one exercise program based on the one or moremodifications to the exercise program. Moreover, the system, wherein theone or more predefined criteria corresponding to the first settingdefine one or more interactions between the at least one exercises fromeach exercise group in the first set of exercise groups, the one or moreinteractions impacting an efficacy of the at least one exercises fromeach exercise group in the first set of exercise groups to improve theone or more physical compensations of the test subject, and the one ormore predefined criteria corresponding to the second setting define oneor more interactions between the at least one exercises from eachexercise group in the second set of exercise groups, the one or moreinteractions impacting an efficacy of the at least one exercises fromeach exercise group in the second set of exercise groups to improve theone or more physical compensations of the test subject. Further, thesystem, wherein the one or more predefined criteria corresponding to thefirst setting and the second setting define one or more relationshipsbetween the one or more physical compensations, the one or morerelationships prioritizing the one or more physical compensations.Additionally, the system, wherein the one or more predefined criteriacorresponding to the first setting define one or more associationsbetween the at least one exercises from each exercise group in the firstset of exercise groups and the one or more physical compensations, andthe one or more predefined criteria corresponding to the second settingdefine one or more associations between the at least one exercises fromeach exercise group in the second set of exercise groups and the one ormore physical compensations. Also, the system, wherein the electronicdata further corresponds to prior completion by the test subject of oneor more additional physical evaluation tests. Furthermore, the system,wherein the one or more predefined rules defining a plurality ofphysical exercises corresponding to the first setting and the secondsetting further define one or more body parts targeted by the pluralityof physical exercises.

These and other aspects, features, and benefits of the claimedinvention(s) will become apparent from the following detailed writtendescription of the preferred embodiments and aspects taken inconjunction with the following drawings, although variations andmodifications thereto may be effected without departing from the spiritand scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate one or more embodiments and/oraspects of the disclosure and, together with the written description,serve to explain the principles of the disclosure. Wherever possible,the same reference numbers are used throughout the drawings to refer tothe same or like elements of an embodiment, and wherein:

FIG. 1 illustrates an exemplary, high-level overview of one embodimentof the disclosed compensation analysis and program generation system.

FIG. 2 illustrates an exemplary architecture of one embodiment of thedisclosed compensation analysis and program generation system.

FIG. 3 is a flowchart showing a summary of an exemplary, high-levelprocess flow, according to one embodiment of the present disclosure.

FIG. 4 is a flowchart showing an exemplary test performance and datacollection process, according to one embodiment of the presentdisclosure.

FIG. 5 is a flowchart showing an exemplary test data analysis and scorecalculation process, according to one embodiment of the presentdisclosure.

FIG. 6 is a flowchart showing an exemplary program generation process,according to one embodiment of the present disclosure.

FIG. 7 is a screenshot of an exemplary subject roster screen of acompensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 8 is a screenshot of an exemplary subject roster screen, in listview, of a compensation analysis and program generation system,according to one embodiment of the present disclosure.

FIG. 9 is a screenshot of an exemplary subject summary screen of acompensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 10 is a screenshot of an exemplary test-selection screen of acompensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 11 is a screenshot of an exemplary movement efficiency testperformance and data collection screen of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure.

FIG. 12 is a screenshot of an exemplary movement efficiency screenperformance and data collection screen of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure.

FIG. 13 is a screenshot of an exemplary range of motion test performanceand data collection screen of a compensation analysis and programgeneration system, according to one embodiment of the presentdisclosure.

FIG. 14 (consisting of FIGS. 14A and 14B) is a screenshot of anexemplary movement efficiency test report screen of a compensationanalysis and program generation system, according to one embodiment ofthe present disclosure.

FIG. 15 (consisting of FIGS. 15A and 15B) is a screenshot of anexemplary movement efficiency screen report screen of a compensationanalysis and program generation system, according to one embodiment ofthe present disclosure.

FIG. 16 (consisting of FIGS. 16A and 16B) is a screenshot of anexemplary range of motion test report screen of a compensation analysisand program generation system, according to one embodiment of thepresent disclosure.

FIG. 17 is a screenshot of an exemplary performance test report screenof a compensation analysis and program generation system, according toone embodiment of the present disclosure.

FIG. 18 is a screenshot of an exemplary program generation screen of acompensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 19 is a screenshot of an exemplary program modification screen of acompensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 20 is a screenshot of an exemplary exercise modification screen ofa compensation analysis and program generation system, according to oneembodiment of the present disclosure.

FIG. 21 is a screenshot of an exemplary program scheduling screen, inmonthly view, of a compensation analysis and program generation system,according to one embodiment of the present disclosure.

FIG. 22 is a screenshot of an alternative, exemplary program schedulingscreen, in weekly view, of a compensation analysis and programgeneration system, according to one embodiment of the presentdisclosure.

FIG. 23 is a screenshot of an exemplary program summary screen, asdisplayed in a mobile application, of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure.

FIG. 24 is a screenshot of an exemplary exercise list screen, asdisplayed in a mobile application, of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure.

FIG. 25 is a screenshot of an exemplary exercise list screen, in detailview as displayed in a mobile application, of a compensation analysisand program generation system, according to one embodiment of thepresent disclosure.

FIG. 26 is a screenshot of an exemplary test result and progress summaryscreen, as displayed in a mobile application, of a compensation analysisand program generation system, according to one embodiment of thepresent disclosure.

FIG. 27 is a screenshot of an exemplary weekly progress summary screen,as displayed in a mobile application, of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure.

DETAILED DESCRIPTION Overview

For the purpose of promoting an understanding of the principles of thepresent disclosure, reference will now be made to the embodimentsillustrated in the drawings and specific language will be used todescribe the same. It will, nevertheless, be understood that nolimitation of the scope of the disclosure is thereby intended; anyalterations and further modifications of the described or illustratedembodiments, and any further applications of the principles of thedisclosure as illustrated therein are contemplated as would normallyoccur to one skilled in the art to which the disclosure relates. Alllimitations of scope should be determined in accordance with and asexpressed in the claims.

Whether a term is capitalized is not considered definitive or limitingof the meaning of a term. As used in this document, a capitalized termshall have the same meaning as an uncapitalized term, unless the contextof the usage specifically indicates that a more restrictive meaning forthe capitalized term is intended. However, the capitalization or lackthereof within the remainder of this document is not intended to benecessarily limiting unless the context clearly indicates that suchlimitation is intended.

Aspects of the present disclosure generally relate to systems andmethods for objectively assessing physical performance of a subject andgenerating programs specifically tailored to correct any physicaldeficiencies identified during that assessment. Generally, theassessments may be performed on subjects (e.g., patients, athletes,etc.) of any age, sex, or fitness level. Additionally, in variousembodiments, the system may be implemented as a web-based softwaresystem that is used to record the results of an assessment or aperceptual computing system with accompanying sensor system (e.g.,camera, etc.) that is used to automate the recording of the assessment.In various embodiments, the results of the assessment are then fed intoan algorithm that determines a recommended exercise program to improvethe physical capabilities of the subject over time.

In various embodiments, the subject may perform tasks as part of anassessment the results of which are recorded in binary (e.g., “yes” or“no”) format. Generally, this assessment is referred to herein as the“movement efficiency test.” In one embodiment, the subject performsseveral different tasks as part of the movement efficiency test (e.g.,2-leg squat, 2-leg squat with heel lift, 1-leg squat, push-up, shouldermovement, trunk/thoracic spine movement, cervical spine movement, etc.).Generally, while the subject is performing the tasks, an observer, suchas a practitioner or a perceptual computing device, monitors themovements of the subject to collect data and determine whether anycompensations are present. In various embodiments, “compensations”generally refer to physical deficiencies that result in animproper/potentially harmful movement of the body (e.g., the rightgluteus medius is not strong, so the right knee moves inwardly duringthe 2-leg squat). If a compensation is present, then the observerindicates “yes” the compensation is present. If, however, a compensationis not present, then the observer indicates “no” the compensation is notpresent (or, in one embodiment, “no” is the default setting, so theobserver does not provide any additional indication). As will occur toone having ordinary skill in the art, by recording results only inbinary format, the assessment generally removes the subjectivity thatcould occur when recording results in non-binary format. For example,instead of a practitioner or subject being required to determine howmuch a knee rotates inwardly during a 2-leg squat (e.g., none, some,severe, etc.) and the distinctions between the categorizations (e.g.,how much is some rotation versus severe rotation), the practitioner orsubject may record the presence of the movement regardless of how slightor severe the movement may be (e.g., some knee rotation is recorded inthe same manner as severe knee rotation). Thus, the system objectivelyidentifies the subject's performance on the test.

In one embodiment, the “movement efficiency screen” comprises anabbreviated assessment for determining whether certain predefinedcompensations are present in the subject (e.g., wherein the subjectperforms the 2-leg squat, 2-leg squat with heel lift, 1-leg squat,etc.). Generally, the results of the movement efficiency screen arerecorded in the same manner as those of the movement efficiency test(e.g., binary format). As will occur to one having ordinary skill in theart, the movement efficiency screen may be used to quickly identifycertain particular compensations that a subject may present or toquickly check a subject's progress after following a recommendedexercise program for a predetermined period of time.

The subject, in various embodiments, may also perform tasks as part ofan assessment the results of which are not recorded in binary format.Generally, this assessment is referred to herein as the “range of motiontest.” In various embodiments, the “range of motion test” generallyrefers to an assessment of the range of motion that a subject possessesin a particular joint (e.g., hip) by measuring the range of motion (indegrees) in that particular joint for a particular movement (e.g., hipabduction). To conduct a range of motion test, a practitioner usuallyuses a goniometer to measure the range of the motion of the measuredjoints. In one embodiment, the range of motion of a particular joint iscompared to an optimal range (e.g., as suggested by the American Academyof Orthopedic Surgeons) for that particular joint and movement andscored as a percentage of the optimal range. In another embodiment, thepercentage of the optimal range is recorded by the system in binaryformat (e.g., “yes” the percentage is below a certain threshold or “no”it is not).

In various embodiments, as part of an assessment, the subject mayperform a combination of tests for which results are recorded in binaryformat and tests for which results are not recorded in binary format(e.g., a movement efficiency screen and a range of motion test, etc.).Generally, by performing multiple tests as part of a single assessment,the system is able to collect additional data points regarding thesubject and generate a more tailored recommended exercise program.

Based on the results of the assessment, in various embodiments, arecommended exercise program is generated that is tailored to theparticular subject and designed to correct the compensations and otherphysical deficiencies identified by the assessment. Generally, therecommended exercise program is generated based on various algorithmsthat sort, prioritize, and correlate the physical deficiencies withexercises that target the muscle groups impacted by the deficiencies. Invarious embodiments, the recommended exercise programs comprise threedifferent strategies: “restore,” “activate,” and “move.” In oneembodiment, the restore strategy should be performed before the activatestrategy, which should be performed before the move strategy. Generally,the sequencing of the strategies combined with the specific exerciseacute variable progressions (e.g., sets, repetitions, etc.) within eachstrategy provide specific physiological and physical outcomes that havebeen researched and proven to improve movement efficiency/quality ofmovement. In various embodiments, the restore strategy comprisesexercises such as foam rolling and static stretching of particularmuscles (e.g., foam rolling hamstring, etc.) that inhibit, lengthen, andimprove mobility of soft-tissue and joints caused by over-performingmuscles, the activate strategy comprises exercises such as isolatedmuscle activation exercises (e.g., should external rotation, etc.) thatactivate/strengthen under-performing muscles, and the move strategycomprises exercises such as dynamic exercises that require the use ofvarious integrated muscles (e.g., front lunge to shoulder press, etc.)to reinforce the activation/strengthening and integrated functionalre-education of the body.

Generally, the recommended exercise programs comprise a predeterminednumber of days (e.g., 3 or 5) of exercises that may be performed indifferent settings. In various embodiments, the predetermined number ofdays and different exercises in different settings may be generated atone time from the same data set (e.g., same input but different variedoutputs) so that a practitioner and/or patient does not need to requestadditional exercises, settings, etc. In one embodiment, the settingscomprise a self-care setting wherein the subject performs the exercisesby himself/herself, a practitioner light setting wherein the subjectperforms the exercises with the assistance of a certified practitioner(e.g., strength and conditioning coach, personal trainer, etc.), and apractitioner pro setting wherein the subject performs the exercises withthe assistance of a licensed practitioner (e.g., physical therapist,chiropractor, etc.). In various embodiments, these settings permit therecommended exercise program to be modified to better accommodate thesubject and adhere to professional scope of practice guidelines. Forexample, if a particular subject is a professional athlete with aserious injury, then the particular subject may perform, as part ofhis/her recommended exercise program, only those exercises in thepractitioner pro setting. In contrast, an amateur athlete with a minorinjury may perform only those exercises in the self-care setting.

In various embodiments, a practitioner may modify both the assessmentbeing performed (e.g., to better suit the needs of the subject orfurther investigate a perceived deficiency) and the recommended exerciseprogram (e.g., to occur as part of a certain schedule or includeexercises that the practitioner prefers). For example, the practitionermay decide that the subject would benefit from performing both amovement efficiency test and a range of motion test. Accordingly, thesystem will incorporate the results of both tests to determine therecommended exercise program. Additionally, the practitioner may decidethat the subject should alternate between three days of self-care andthree days of practitioner light exercises and schedule the recommendedexercise program accordingly. Similarly, the practitioner may substitutea particular preferred exercise (e.g., pushups) for an exercise in therecommended exercise program (e.g., bench press) that the practitionerdoes not want the subject to perform.

Exemplary Embodiments

Referring now to the figures, for the purposes of example andexplanation of the fundamental processes and components of the disclosedsystems and methods, reference is made to FIG. 1 , which illustrates anexemplary, high-level overview 100 of one embodiment of the disclosedcompensation analysis and program generation system 102. As will beunderstood and appreciated, the exemplary, high-level overview 100 shownin FIG. 1 represents merely one approach or embodiment of the presentsystem, and other aspects are used according to various embodiments ofthe present system.

Generally, by way of example, and not by way of limitation, a high-leveloverview 100 of actions involved in an exemplary compensation analysisand program generation process is shown in FIG. 1 with the help of asequence of numbered steps indicated as steps “1” through “5,” which areannotated as circled numbers. As shown in the overview 100, thecompensation analysis and program generation process generallycommences, at step 1, with a subject 101 determining that his/herphysical performance is not sufficient to meet his/her goals. Forexample, the subject 101 may feel pain in a particular area (e.g., knee,shoulder, etc.), may not be performing as well as desired (e.g.,consistently placing third in competition, not reaching certainperformance levels, etc.), or may generally want to maintain a certainlevel of physical performance (e.g., not get injured, etc.). In variousembodiments, a “subject” may be any human being that is the subject ofcompensation analysis and program generation according to the presentdisclosure, regardless of age, sex, or fitness level (e.g., professionalathlete, amateur athlete, outdoor enthusiast, armchair quarterback,adult, child, patient, etc.). After determining that his/her physicalperformance is not sufficient, a subject 101 will then proceed torequest and receive a movement analysis at step 2.

In various embodiments, compensation analysis (alternatively referred toherein as the “movement analysis” or “test performance and datacollection process” or “test data analysis and score calculationprocess,” the details of which will be explained in connection with thedescriptions of FIGS. 3-5 ) begins at step 2 when a subject 101 performsa particular assessment test. In various embodiments, “assessment test”generally refers to a particular set of predefined tasks (e.g., bodymovements) that a subject performs, which is designed to identifyvarious physical weaknesses of the subject. Generally, depending on thesubject 101's condition, goals, etc., the particular assessment test(e.g., movement efficiency test, movement efficiency screen, range ofmotion test, performance test, etc.) may vary. In one embodiment, aparticular assessment test comprises various pre-described tasks (e.g.,2-leg squat, 2-leg squat with heel lift, push-up, etc.) that the subject101 performs to determine whether certain compensations are present. Invarious embodiments, “compensations” generally refer to physicaldeficiencies that result in an improper/potentially harmful movement ofthe body (e.g., the right gluteus medius is not strong, so the rightknee moves inwardly during the 2-leg squat). If the subject 101 performsa task improperly (e.g., the wrong task, with the wrong form, in amanner that obscures a data collection device's ability to observecompensations, etc.), then the data collection device will prompt thesubject 101 with a corrective action so that the task is performedproperly. Details of the assessment tests and tasks will be betterunderstood in association with the description of FIGS. 3, 4, and 10-17.

Still referring to FIG. 1 , in one embodiment, the subject 101 mayperform the particular assessment test in association with various datacollection devices. For example, a subject 101 may perform theparticular assessment test in front of a practitioner 103 who has beentrained in accordance with the present disclosure (e.g., doctor, nurse,physical therapist, etc.). Generally, when the subject 101 is performingthe assessment test in front of a registered practitioner 103, theregistered practitioner 103 will visually observe the subject 101'sperformance, provide corrective actions if necessary, and recordobserved compensations into the disclosed system. Additionally, thesubject 101 may perform the particular assessment test in associationwith a perceptual computing device 105 (e.g., any device, body sensors,combination of the same, etc. capable of capturing movement in anautomated way, examples include a MICROSOFT® KINECT® Model #6L6-00001,INTEL® REALSENSE® 3D Camera as deployed in an ASUS® Laptop Model#N551JQ, etc.). Generally, when the subject 101 is performing theassessment test in association with the perceptual computing device 105,the perceptual computing device 105 will record and analyze the subject101's performance to identify corrective actions (if necessary) andcompensations present, in association with the system 102. Further, thesubject 101 may perform the particular assessment test using anapplication running on a mobile computing device 107 (e.g., tablet,smartphone, etc.). Generally, when the subject 101 is performing theassessment test using an application running on a mobile computingdevice 107, the subject 101 identifies any corrective actions necessaryand any compensations present and inputs the compensations into theapplication.

Once a sufficient data set has been provided by the subject 101 (e.g.,enough reps of the tasks that comprise the particular assessment test),then the data set is transmitted over a network 104 to a compensationanalysis and program generation system 102, which, at step 3, receivesand parses the data set, processes the data set according to variousalgorithms to produce an overall score and status, and generates arecommended exercise program based on the results of the processing. Inone embodiment, the compensation analysis and program generation system102 comprises a management module 106 that processes data used duringthe compensation analysis and program generation process and a database108 to store data used during the compensation analysis and programgeneration process (e.g., subject data sets, exercise information,processing algorithms, etc.). Further, the compensation analysis andprogram generation system 102 may optionally interface with a thirdparty data system 110, over a network 104, to receive information tosupplement the program generation process (e.g., electronic healthrecords system, medical diagnostic system, etc.). Additional details ofthe architecture of the compensation analysis and program generationsystem 102 will be provided in association with the description of FIG.2 .

Generally, an overall score may be produced by the compensation analysisand program generation system 102 to provide a benchmark for the subject101's reference. In one embodiment, the overall score is a number out ofone hundred that signifies how successfully a subject performed aparticular assessment test (e.g., with larger numbers indicating bettersuccess). For example, for each identified compensation, the overallscore may be reduced by a predetermined amount (e.g., a particularcompensation may be worth 3% of the overall score, etc.). In variousembodiments, as part of program generation (the details of which will beexplained in more detail in connection with the description of FIGS. 3and 6 ), the compensation analysis and program generation system 102permits the registered practitioner 103 to provide input andmodifications to the recommended program. Generally, the registeredpractitioner 103 may insert, change, or remove a particular exercise,modify the particulars of how that exercise is performed (e.g., numberof repetitions, frequency within the program, etc.), schedule theexercises for particular days, etc. The completed recommended program,in one embodiment, comprises a schedule of exercises to be performed onvarious days in various settings.

Referring still to FIG. 1 , in various embodiments, the recommendedprogram generated at step 3 comprises a set of subject and compensationspecific exercises that are to be performed on various days in varioussettings. Generally, these exercises are targeted to the particularsubject 101 based on the compensations that were identified as part ofcompensation analysis and are designed to correct the deficiencies thatresulted in the identified compensations. In various embodiments, thepredetermined number of days and different exercises in differentsettings may be generated at one time from the same data set (e.g., sameinput but different varied outputs) so that a practitioner and/orpatient does not need to request additional exercises, settings, etc.For example, the recommended program may comprise a predetermined numberof days (e.g., 3 or 5) of exercises that can be performed in differentsettings to achieve similar and/or different results. In one embodiment,the settings comprise a self-care setting wherein the subject 101performs the exercises by himself/herself, a practitioner light settingwherein the subject 101 performs the exercises with the assistance of acertified practitioner (e.g., strength and conditioning coach, personaltrainer, etc.), and a practitioner pro setting wherein the subject 101performs the exercises with the assistance of a licensed practitioner(e.g., physical therapist, chiropractor, etc.). In various embodiments,these settings permit the recommended exercise program to be modified tobetter accommodate the subject and/or increase the continuum andcontinuity of care of an individual with a single intervention system toincrease the functional outcomes and decrease potential costs ofinterventions. For example, if a particular subject is a professionalathlete with a serious injury, then the particular subject may perform,as part of his/her recommended exercise program, only those exercises inthe practitioner pro setting. In contrast, an amateur athlete with aminor injury may perform only those exercises in the self-care setting.

Generally, the recommended programs for each setting comprise threedifferent stages (alternatively referred to herein as strategies):“restore,” “activate,” and “move.” In one embodiment, the restorestrategy should be performed before the activate strategy, which shouldbe performed before the move strategy. Generally, the sequencing of thestrategies combined with the specific exercise acute variableprogressions (e.g., sets, repetitions, etc.) within each strategyprovide specific physiological and physical outcomes that have beenresearched and proven to improve movement efficiency/quality ofmovement. In various embodiments, the restore strategy comprisesexercises such as foam rolling and static stretching of particularmuscles (e.g., foam rolling hamstring, etc.) that inhibit, lengthen, andimprove mobility of soft-tissue and joints caused by over-performingmuscles, the activate strategy comprises exercises such as isolatedmuscle activation exercises (e.g., should external rotation, etc.) thatactivate/strengthen under-performing muscles, and the move strategycomprises exercises such as dynamic exercises that require the use ofvarious integrated muscles (e.g., front lunge to shoulder press, etc.)to reinforce the activation/strengthening and integrated functionalre-education of the body.

Once the recommended program has been generated, at step 4 in variousembodiments, the recommended program is transmitted over a network 104to the subject 101, who begins performing the recommended program.Generally (as will be discussed in connection with FIGS. 23-27 ), therecommended program is provided to the subject 101 in an interactiveformat so that the subject 101 may indicate whether an exercise has beenperformed, provide any feedback regarding the performance of theexercise, receive instructions on how to perform an exercise, etc. Atthe completion of the recommended program, the subject 101 may eitherreturn to step 2 to receive another compensation analysis and programgeneration or the subject 101 may proceed to step 5, wherein the subject101 reaps the benefits of the program. Generally, at step 5, the subject101 may experience improved performance, reduced pain, increasedphysical conditioning, etc. Once the compensation analysis and programgeneration reaches step 5, the subject 101 may either continueperforming the recommended program or a modification thereof or maydiscontinue the recommended program altogether. To better understand thecompensation analysis and program generation process, an overview of thecompensation analysis and program generation system 102 may be helpful.

Now referring to FIG. 2 , an exemplary architecture 200 of oneembodiment of the disclosed compensation analysis and program generationsystem 102 is shown. As shown, the compensation analysis and programgeneration system 102 generally comprises a management module 106 and atleast one system database 108. In various embodiments, the managementmodule 106 comprises a test performance and data collection engine 401that is operatively connected to a test data analysis and scorecalculation engine 501, which is operatively connected to a programgeneration engine 601. Additionally, the system 102 may be operativelyconnected, through one or more networks (such as network 104 from FIG. 1), to one or more test performance and data collection devices 403,program display and feedback devices 603, and third party data systems110. As will be understood by one having ordinary skill in the art, thenetworks may comprise any connection capable of transferring databetween two or more computer systems (e.g., Bluetooth, wireless or wiredlocal-area networks (LANs), cell network, etc.).

In one embodiment, the management module 106 and system database 108manipulate and store the data used by the system 102. Generally, themanagement module 106 runs the various engines and processes thatcomprise the system 102. As will be understood by one having ordinaryskill in the art, the management module 106 may be any computing devices(e.g., desktop computer, laptop, servers, tablets, etc.), combination ofcomputing devices, software, hardware, or combination of software andhardware that is capable of running the engines and processes disclosedherein. The system database 108, generally, stores the various subjectdata sets, algorithms, lists of exercises, information regardingperformance of those exercises, and any other data that is used by thesystem 102. As will be understood by one having ordinary skill in theart, the system database 108 may be any database (e.g., stored in thecloud or on premise, structured as relational, etc.) or combination ofdatabases that is capable of storing the data used by the engines andprocesses disclosed herein. Generally, the system 102 also optionallyinterfaces with various third party data systems 110 to retrieveadditional information that may be needed or used by the engines orprocesses disclosed herein. For example, the system 102 may interfacewith an electronic health records system to retrieve informationregarding a particular subject. Additionally, the system 102 mayinterface with an external exercise database to retrieve additionalexercises or information regarding exercises as desired by apractitioner. In various embodiments, the system 102 may interface witha third party data system 110 at any time during the compensationanalysis and program generation processes to retrieve additional data asneeded by those processes.

Still referring to FIG. 2 , in one embodiment, the test performance anddata collection engine 401 and test performance and data collectiondevice 403 facilitate the test performance and data collection process(the further details of which will be explained in connection with thedescriptions of FIGS. 3 and 4 ). In one embodiment, the test performanceand data collection engine 401 runs the test performance and datacollection process to provide a particular test (e.g., movementefficiency test, movement efficiency screen, range of motion test, etc.)that a subject performs to identify any compensations that the subjectmay have. Generally, the system 102 comprises one or more testperformance and data collection devices 403 to interface between thesubject and the system 102 so that the subject is aware of which tasksto perform (and how to perform them) and the system 102 is aware of theresults of the subject's performance. In various embodiments, the testperformance and data collection device 403 may be any device capable ofproviding the functionality disclosed herein. For example, the testperformance and data collection device 403 may be used by a practitioner(e.g., doctor, nurse, physical therapist, coach, personal trainer,parent, etc.) who has been trained according to the present disclosureor a subject in association with an assessment test and may include acomputing device (e.g., tablet, laptop, smartphone, desk top, etc.),perceptual computing device (e.g., any device, body sensors, combinationof the same, etc. capable of capturing movement in an automated way,examples include a MICROSOFT® KINECT® Model #6L6-00001, INTEL®REALSENSE® 3D Camera as deployed in an ASUS® Laptop Model #N551JQ,etc.), etc. (such as perceptual computing device 105 or mobile computingdevice 107 from FIG. 1 ).

Accordingly, the test performance and data collection engine 401 andtest performance and data collection device 403 facilitate the testperformance and data collection process, which provides the data that isprocessed by the test data analysis and score calculation engine 501 aspart of the test data analysis and score calculation process (thefurther details of which will be explained in connection with thedescriptions of FIGS. 3 and 5 ). In one embodiment, the test dataanalysis and score calculation engine 501 calculates the subject'soverall score on a particular test and also calculates a unique scorefor each test exercise, body part, or muscle group that has been tested(e.g., right knee, hamstring, left arm, etc.). In certain embodiments,the overall score may not be used by the system to generate arecommended program but instead provides a benchmark for the subject'sreference. In contrast, the unique scores may be used to generate therecommended program so that the program targets the compensationsidentified by the testing process.

To generate programs, in various embodiments, the program generationengine 601 and program display and feedback device 603 facilitate theprogram generation process (the further details of which will beexplained in connection with the descriptions of FIGS. 3 and 6 ).Generally, the program generation engine 601 runs the program generationprocess to generate one or more recommended programs for use by asubject. In one embodiment, the program display and feedback device 603permits a practitioner to provide input/modifications into the programgeneration process to further customize the recommended program. Forexample, the practitioner may input exercise modifications orsubstitutions along with particular schedules into the program displayand feedback device 603. The program display and feedback device 603also permits a subject to view and interact with their recommendedprogram. For example, the subject may view the particular exerciseshe/she must perform that day and indicate whether those exercises havebeen performed, provide feedback regarding their performance, etc. Thus,the program display and feedback device 603 may be any device capable ofproviding the functionality disclosed herein (e.g., desktop computer,laptop computer, tablet, smartphone, etc.).

Referring now to FIG. 3 , a flowchart summarizing an exemplary,high-level process flow 300, according to one embodiment of the presentdisclosure, is shown. As will be understood by one having ordinary skillin the art, the steps and processes shown in FIG. 3 (and those of allother flowcharts and sequence diagrams shown and described herein) mayoperate concurrently and continuously, are generally asynchronous andindependent, and are not necessarily performed in the order shown. Inone embodiment, the compensation analysis and program generation systemcomprises a test performance and data collection process 400, a testdata analysis and score calculation process 500, and a programgeneration process 600.

In various embodiments, the test performance and data collection process400 is performed by the test performance and data collection engine 401(from FIG. 2 ). In one embodiment, a practitioner and/or subject usesone or more test performance and data collection devices 403 (from FIG.2 ) to conduct the test performance and data collection process 400.Generally, the test performance and data collection process 400 is theprocess by which the compensation analysis and program generation systemrequests performance of a particular test designed to identify certaincompensations within the kinetic chain that the subject may exhibit andrecords data regarding the performance of the same. In variousembodiments, the requested test may comprise a movement efficiency test(e.g., test comprising the performance of a 2-leg squat, 2-leg squatwith heel lift, 1-leg squat, push-up, shoulder movements, trunk/thoracicspine movements, and cervical spine movements to identify the presenceof compensations in those tasks; the results of this test are recordedin binary; more details of this test will be explained in associationwith the description of FIG. 11 ), movement efficiency screen (e.g.,test comprising the performance of a 2-leg squat, 2-leg squat with heellift, and 1-leg squat to identify the presence of compensations in thosetasks; the results of this test are recorded in binary; more details ofthis test will be explained in association with the description of FIG.12 ), range of motion test (e.g., test performed to assess the range ofmotion that a subject possesses in a particular joint, usually using agoniometer and scored as a percentage of the optimal range suggested bythe American Academy of Orthopedic Surgeons; more details of this testwill be explained in association with the description of FIG. 13 ), or aperformance test. In one embodiment, the compensations identified mayinclude that the foot turns out, that the foot flattens, that the kneesmoves in (valgus), that the knee moves out (varus), etc. Generally, thetest performance and data collection process 400 receives informationregarding the compensations identified directly from thesubject/practitioner. The test performance and data collection process400 will be explained in further detail in association with thedescription of FIGS. 4 and 7-13 .

After the test performance and data collection process 400, in oneembodiment, the test data analysis and score calculation process 500occurs. In various embodiments, the test data analysis and scorecalculation process 500 is performed by the test data analysis and scorecalculation engine 501 (from FIG. 2 ). Generally, the test data analysisand score calculation process 500 is the process by which thecompensation analysis and program generation system determines anoverall score of a subject on a particular test and also calculates abody-part specific score for that particular test. In one embodiment,the overall score does not factor into or impact the program generationprocess 600 but is instead a benchmark designed for ease of use by asubject. Generally, the overall score permits a subject to quickly andeasily assess their performance. In contrast, the body-party specificscore may be used by the program generation process 600 to identify theparticular exercises that will correct the compensations and otherdeficiencies present in the subject. The test data analysis and scorecalculation process 500 will be generally explained in further detail inassociation with the description of FIGS. 5 and 14-17 .

In one embodiment, the program generation process 600 occurs after thetest data analysis and score calculation process 500. In variousembodiments, the program generation process 600 is performed by theprogram generation engine 601 (from FIG. 2 ). In one embodiment, apractitioner and/or subject uses one or more program display andfeedback devices 603 (from FIG. 2 ) to provide input into the programgeneration process 600. Generally, the program generation process 600generates a recommended exercise program that is subject-specific andtargeted to correct the identified compensations and other deficiencies.In one embodiment, a practitioner is provided with a recommendedexercise program and modifies that program according to theirpreferences (e.g., substituting exercises, changing the number ofrepetitions for a particular exercise, etc.). Generally, thepractitioner also indicates which days an exercise program should beperformed and in which settings (e.g., self-care, practitioner light,practitioner pro, etc.) The program generation process 600 will begenerally explained in further detail in association with thedescription of FIGS. 6 and 18-27 .

Now referring to FIG. 4 , a flowchart of an exemplary test performanceand data collection process 400 is shown, according to one embodiment ofthe present disclosure. Generally, the exemplary test performance anddata collection process 400 is the process by which a subject is testedto determine whether any compensations or other deficiencies arepresent. In one embodiment, the exemplary test performance and datacollection process 400 is performed by the test performance and datacollection engine 401 (from FIG. 2 ). Generally, a subject performsvarious tasks dependent on the type of test being performed (e.g.,movement efficiency test, movement efficiency screen, range of motiontest, performance test, etc.) using one or more test performance anddata collection devices 403 (from FIG. 2 ). For example, the subject mayperform the tasks in the presence of a practitioner, using a perceptualcomputing device, or by themselves with a regular computing device. Invarious embodiments, the steps of the exemplary test performance anddata collection process 400 do not change based on the particular testbeing performed or the particular test performance data collectiondevice 403 being using.

In various embodiments, the exemplary test performance and datacollection process 400 begins at step 402 when the practitioner orsubject enters initial registration information regarding the subjectinto the test performance and data collection engine 401 (from FIG. 2 ).Generally, this initial registration information may include thesubject's name, work affiliations, and other identifying informationthat may be used to recognize the subject within the system andassociate information recorded/generated regarding that subject with thesubject's record. After receiving the initial registration information,in one embodiment, the test performance and data collection engine 401requests screening information regarding the subject at step 404. Invarious embodiments, this screening information may include anyinformation that is relevant to the compensation analysis and programgeneration processes, such as the subject's biometric information (e.g.,height, weight, age, blood pressure, resting heart rate, percent bodyfat, etc.), typical exercise routine, typical activities, current injurysummary (e.g., what is the injury, pain level, how long the injury haspersisted, how the injury occurred, etc.), past injury history, etc.Generally, at step 406, the engine receives and stores (e.g., in thesystem database 108 from FIG. 1 ) this screening information so that itmay be used later by the system. As will occur to one having ordinaryskill in the art, the subject, the practitioner, or a combination ofboth may provide this information to the engine, or the engine couldpull the information from a third party data system 110 (from FIG. 1 ).After receiving the screening information, in various embodiments, theengine receives an indication (from the practitioner and/or subject) tostart the test performance and data collection process at step 408. Inparticular, in one embodiment, the engine receives an indication (e.g.,by a subject or practitioner selecting a button on an interface screen)to start a particular test performance (e.g., movement efficiency test,movement efficiency screen, range of motion test, performance test,etc.). Additional information regarding steps 402 through 408 will beprovided in association with the description of FIGS. 7-10 .

Based on the particular test selected, at step 410 in variousembodiments, the engine determines the appropriate testing processtemplate (e.g., that corresponds to the particular selected test). Inone embodiment, the testing process template comprises a list of thetasks (e.g., particular movements such as the 2-leg squat, 1-leg squat,push-up, etc.) that the subject should perform to complete a particulartest. Thus, at step 412, the engine generally displays a list of thepredetermined tasks from the testing process template for selection bythe subject/practitioner. Once the subject/practitioner has selected theparticular task for evaluation, the engine receives that selection atstep 414 in various embodiments. Generally, the tasks may be performedin a particular, pre-defined order according to the template or randomlyat the discretion of the practitioner. After receiving the taskselection, at step 416, in various embodiments the engine retrieves thetask template corresponding to the selected task and providesinstructions regarding the performance of the selected task based onthat template. In one embodiment, the template and instructions maycomprise a video or diagram displaying how to perform the task, (whenusing a perceptual computing device) an interactive avatar to guide thesubject's movements, the particular compensations to look for duringperformance of the task, etc.

After providing instructions regarding performance of the task, theengine requests performance of the task, in various embodiments, at step418. After the subject performs the task, in various embodiments, theengine receives and stores information regarding that task performanceat step 420. For example, the engine may receive an indication of anycompensations present during the performance, (when using a perceptualcomputing device) a video of the subject's performance, etc. In oneembodiment, the engine may receive data in binary format as measured bya practitioner regarding the presence of any compensations and indicatedby the practitioner through the selection of a particular radial buttonon a screen (e.g., “yes” a particular compensation, such as a right footflattening, was present or “no” a particular compensation was notpresent).

Still referring to FIG. 4 , at step 422, in various embodiments, theengine 401 analyzes the subject's performance to determine whether thedata received is relevant and in a format that is useable by the engine(e.g., whether the subject properly performed the task). For example, ifthe task was a 2-leg squat and the subject/practitioner inputinformation regarding a compensation of the arm, then the engine wouldrecognize that the input was invalid. Similarly, when using a perceptualcomputing device, the engine may determine whether the subject performedthe task with the proper form (e.g., without falling over, using supportof a chair, etc.). Based on that analysis, at step 424, the enginedetermines whether the task performance met a certain predefinedcriteria (e.g., whether the data is within a particular range, is in aparticular format, etc.). For example, if the test requested the subjectto perform the task at least 5 times and the subject only performed thetask 3 times (or if the data was to be recorded in inches and the inputwas not within the expected range because it was input in feet), thenthe engine may determine that the task performance does not meet thepredefined criteria. If the task performance did not meet the predefinedcriteria, then at step 426 the engine takes a predefined action withrespect to the task. For example, the engine may analyze the record todetermine why the data does not meet the predefined criteria, delete therecord, provide remedial instructions (optionally at step 428), and/orgenerally request that the subject perform the task again (at step 418).If however, the engine determines that the task performance met acertain predefined criteria, then the process proceeds to step 430.Generally, when a practitioner is performing the assessment, thepractitioner may perform the steps 422 through 428 and only inputinformation regarding compensations observed during valid performancesof the particular task.

At step 430, in various embodiments, the engine determines whether allof the tasks in the particular test have been performed. If all of thetasks have not been performed, than at step 432 the engine queries thesubject/practitioner to determine whether the subject/practitionerdesires to perform/request performance of additional tasks. If thesubject/practitioner desires to perform/request performance ofadditional tasks, then the engine returns to step 412 and displays alist of tasks for selection by the subject/practitioner. In variousembodiments, the subject/practitioner may have medical and/or practicalreasons to continue recording task performance or may even desire torecord a completely new type of test (e.g., a range of motion test inaddition to a movement efficiency test). Conversely, in variousembodiments, the subject/practitioner may have medical and/or practicalreasons to not record performances for all of the tasks within aparticular test (e.g., no time left in the appointment, the subject isfatigued, the subject cannot physically perform a particular task,etc.). In one embodiment, if the subject is going to perform anadditional test (e.g., a range of motion test in addition to a movementefficiency test), then the engine may be configured to modify theadditional test based on the results of the original test so that thesubject only performs tasks that will provide data that will supplementthe data recorded during the original test. Additional informationregarding steps 410 through 432 will be provided in association with thedescription of FIGS. 11-13 .

In various embodiments, if the engine determines at step 430 that all ofthe tasks have been performed or at step 432 that no additional tasksare desired, then at step 434, the engine transmits the storedperformances from the test performance and data collection engine 401(from FIG. 2 ) to the test data analysis and score calculation engine501 (from FIG. 2 ) for data analysis and score calculation and theexemplary test performance and data collection process 400 endsthereafter. As will occur to one having ordinary skill in the art, theprocesses described in FIGS. 4, 5, and 6 , may occur concurrently andcontinuously, are generally asynchronous and independent, and are notnecessarily performed in the order shown. Similarly, in one embodiment,the processes described in FIGS. 4, 5, and 6 , may be performed by thesame engine and/or may be combined into one process, so that thetransmission steps do not occur or do not require the use of a networkor other similar connection.

Referring now to FIG. 5 , a flowchart of an exemplary test data analysisand score calculation process 500 is shown, according to one embodimentof the present disclosure. Generally, the exemplary test data analysisand score calculation process 500 is a process by which the systemcalculates the subject's overall score for the performed test and thebody-part specific scores from the same. In one embodiment, theexemplary test data analysis and score calculation process 500 isperformed by the test data analysis and score calculation engine 501(from FIG. 2 ).

The exemplary test data analysis and score calculation process 500generally begins at step 502 when the test data analysis and scorecalculation engine 501 (from FIG. 2 ) receives the stored performancesfrom the test performance and data collection engine 401 (from FIG. 2 ).Accordingly, at step 504 in various embodiments, the test data analysisand score calculation engine 501 parses the stored performances toretrieve the performance data (e.g., information indicating the presenceof compensations, etc.). After retrieving the performance data, at step506, the engine generally pre-processes the performance data to ensurethere is sufficient data to conduct the exemplary test data analysis andscore calculation process 500.

Thus, in various embodiments at step 508, the engine determines whetheradditional inputs are recommended. Additional inputs may be recommended,for example, when not enough data was recorded during the exemplary testperformance and data collection process 400 or if a particularcombination of results within the performance data suggests that aparticular condition may be present and further testing regarding thatcondition would be beneficial. If additional inputs are recommended,then at step 510, the engine generally requests additional inputs basedon the results of the pre-processing. Accordingly, thesubject/practitioner provides those additional inputs and the enginereceives and stores (e.g., in the system database 108 from FIG. 1 )those additional inputs at step 512. Alternatively, the engine may querythe third party data system 110 (from FIG. 1 ) as part of steps 510 and512.

Referring still to FIG. 5 , in various embodiments, once the engine hasstored those additional inputs or if, at step 508, the engine determinedthat no additional inputs were recommended, the engine, at step 514,determines the performance data type for the first type of pre-processedperformance data (as will be recalled from the description of FIG. 4 ,the subject may perform multiple tests and record data regarding all ofthose tests). Generally, the movement efficiency test and movementefficiency screen produce results in binary (e.g., “yes” or “no”indication of whether a particular compensation is present based uponsome predefined criteria), whereas the range of motion test producesresults as a percentage of the optimal range of motion (e.g., 70% ofoptimal). In one embodiment, the range of motion test produces resultsin binary format (e.g., “yes” the percentage of the optimal range isbelow a certain threshold or “no” it is not). Similarly, the number ofdata points in a movement efficiency test may be different from themovement efficiency screen and may be different from the range of motiontest. Accordingly, the algorithms used to calculate the scores based onthose results differ depending on the format of the data. Afterdetermining the performance data type, in various embodiments, at step516, the engine retrieves the algorithm corresponding to that particularperformance data type and, at step 518, processes the data according tothat algorithm and stores the results of that processing (e.g., in thesystem database 108 from FIG. 1 ). As will occur to one having ordinaryskill in the art, the processing at step 518 generally results in theoverall score and body-part specific scores that are used by the subjectas a benchmark and to generate the recommended exercise program,respectively. For example, the body-part specific scores may be used togenerate a list of compensations that are processed to generate therecommended exercise program. In one embodiment, the scores calculatedat step 518 are displayed on a program display and feedback device 603(from FIG. 2 ). The results (e.g., scores) of the exemplary test dataanalysis and score calculation process 500 will be discussed in furtherdetail in association with the descriptions of FIGS. 14-17 .

After storing the results of the algorithm processing, the enginedetermines whether additional pre-processed data remains to be processedin various embodiments at step 520. If additional pre-processed dataremains to be processed, then the engine returns to step 514 anddetermines the particular performance data type. If, however, noadditional pre-processed data remains to be processed, then the testdata analysis and score calculation engine 501 (from FIG. 2 ) transmitsthe processed data to the program generation engine 601 (from FIG. 2 )and the exemplary test data analysis and score calculation process endsthereafter.

Now referring to FIG. 6 , a flowchart depicting an exemplary programgeneration process 600 is shown, according to one embodiment of thepresent disclosure. Generally, the exemplary program generation process600 is the process by which the system generates one or more recommendedexercise programs for a subject based on the subject's test performancethat is designed to reduce the subject's compensations and otherphysical deficiencies. In various embodiments, the exemplary programgeneration process 600 is performed by the program generation engine 601(from FIG. 2 ). In one embodiment, a practitioner may modify therecommended exercise program using a program display and feedback device603 (from FIG. 2 ). In another embodiment, the subject may view therecommended exercise program, complete the exercises in the program,track the completion of the exercises, and provide feedback regardingthe same using a program display and feedback device 603 (from FIG. 2 ).

The exemplary program generation process 600 generally begins at step602 when the program generation engine 601 (from FIG. 2 ) receives theprocessed data from the test data analysis and score calculation engine501 (from FIG. 2 ). In various embodiments, at step 604, the programgeneration engine 601 retrieves the data set corresponding to theprocessed data (e.g., the raw data, such as the binary data regardingwhether certain compensations were present, and the body-part specificscores, such as those scores calculated from the compensations presentaround a particular body part like a knee) and, at step 606, identifiesthe compensations present in that data set. Then, in one embodiment, atstep 608, the engine determines whether additional data sets in theprocessed data need to be analyzed to identify compensations (e.g., ifthe subject performed both a movement efficiency test and a range ofmotion test). If additional data sets exist, then the engine returns tostep 604. If however, no additional data sets exist, then the engineproceeds to step 610.

In various embodiments, at step 610, the engine applies rules regardingthe interaction between compensations to determine and group thecompensations into compensation groups. In one embodiment, thecompensation interactions permit the system to determine the physicaldeficiencies causing the compensations and the compensation groupspermit the system to recommend exercises to correct those deficiencies.In various embodiments, the compensation interactions may be derivedfrom a practitioner's experience or knowledge, medical literature, trialand error, peer-reviewed research, evidence-based practice (e.g.,clinical practice and peer-reviewed research/medical literature), etc.In one embodiment, the compensation interactions may be fairlystraightforward. In one embodiment, however, the compensationinteractions may be very complex. For example, when multiplecompensations are present, their presence can indicate a particularphysical deficiency (e.g., a foot turning out and a knee moving in onthe same leg may indicate one deficiency such as a quadriceps weakness,whereas a foot flattening and a knee moving out on the same leg mayindicate a different deficiency such as a hamstring tightness). Incontrast, if a compensation is present in one task (e.g., 2-leg squat)but not in another task (e.g., 1-leg squat), then that may also indicatea particular physical deficiency (e.g., lower back weakness). Generally,the more data sets present, the more effective the recommended exerciseprogram will be as the engine may be able to weight certain compensationinteractions differently from other compensation interactions to moreaccurately identify the exercises that will correct the identifiedcompensations and physical deficiencies. Accordingly, the engineidentifies the particular deficiencies and corresponding compensationgroups that are relevant to a particular subject.

Still referring to FIG. 6 , at step 612, in various embodiments, theengine retrieves criticality factors relating to the identifiedcompensation groups. In one embodiment, the criticality factorsgenerally permit the system to rank the various identified compensationgroups in order of importance/severity. For example, the system may havean overall ranking of compensation groups to permit it to suggestexercises to correct the most troubling/problematic compensations.Additionally, in one embodiment, the criticality factors may bedetermined based on the subject (e.g., weighting the compensations in abaseball pitcher's arm above those compensations in the pitcher's legsbut weighting the compensations in a football running back's knees abovethose in the running back's arms). Optionally, in one embodiment, theengine may filter, at step 614, the compensation groups based on thosecriticality factors or other predefined criteria to remove thosecompensation groups that are not of a certain level of relevancy to thesubject (e.g., removing compensation groups relating to the non-shootingarm of a basketball player).

At step 616, in various embodiments, the engine retrieves all of theexercises that may be used to correct the compensation groups that ithas identified. Generally, the system may store a large collection ofexercises that have multiple purposes and impact various differentcompensation groups (e.g., foam rolling of the hamstring, lunges, etc.).Accordingly, at step 618, the engine generates a list of exercise groups(e.g., groups the exercises retrieved at step 616 into groups of similarexercises with similar purposes/benefits such as quadricepsstrengthening exercises, shoulder strengthening exercises, etc.) basedon interdependency rules for the compensation groups, which it retrievesat step 618 as well. In one embodiment, the generated list of exercisegroups comprises all of the exercises that may target the compensationsidentified in a certain subject and may relate those exercises orexercise groups to the particular compensations that they target (e.g.,lunges for improving a compensation in the knee, etc.). Generally, thecompensation groups may also have interdependencies that permit oneexercise or group of exercises to correct for more than one compensation(e.g., quadriceps and hamstring exercises, etc.). Thus, the enginegenerates a list of exercise groups to optimize the efficiency of therecommended exercise program (e.g., quadriceps and hamstring exercises,shoulder exercises, etc.). As will occur to one having ordinary skill inthe art, subjects do not have unlimited amounts of time, and the abilityto target multiple compensations with one exercise group is extremelybeneficial if just for the time-saving value alone.

Referring still to FIG. 6 , in various embodiments, at step 620, aftergenerating the list of exercise groups, the engine applies predefinedordering methods to the list of exercise groups so that the exercisesare performed in a predetermined order, which permits the exercises tobuild on each other and contribute to a subject's improvement instead ofcounteracting each other (e.g., those that comprise the “restore”strategy may be performed before those that comprise the “activate”strategy, which may be performed before those that comprise the “move”strategy). Accordingly, at step 622, the engine modifies the exercisegroups based on various parameters (e.g., criticality factors,compensation groups, exercise groups, ordering methods, etc.) to cullthe list of exercise groups into a set of exercise groups that may becompiled into a limited recommended exercise program (e.g., a programwith a limited number of exercises).

In various embodiments, at step 624, the engine compiles the recommendedexercise programs (e.g., three days of exercises for each of threedifferent settings—self-care, practitioner light, and practitioner pro)and stores them (e.g. in the system database 108 from FIG. 1 ).Generally, the engine uses the same input data (e.g., binary dataregarding compensations) and generates multiple different programs(e.g., programs for different days and in different settings) andcompiles those programs into one recommended exercise program that apractitioner or subject may modify to suit the subject. For example, theengine may generate five days of programs that occur in a self-caresetting (e.g., foam rolling hamstring, etc.), five days of programs thatoccur in a practitioner light setting (e.g., assisted hamstringstretching, etc.), and five days of programs that occur in apractitioner pro setting (e.g., hamstring massage, etc.), all based onthe same input data. Accordingly, at step 626, in one embodiment, theengine transmits the generated programs to the subject/practitioner(e.g., for viewing on the program display and feedback device 603 fromFIG. 2 ). In various embodiments, the engine requests modifications tothe generated programs at step 628. For example, the practitioner maymodify the programs based on the practitioner's preferences (e.g., aparticular exercise that the practitioner prefers over another exercise,etc.) or to schedule the exercise program for certain days (e.g., thefirst day of self-care on Mondays, the second day of practitioner lighton Tuesdays, the third day of self-care on Wednesdays, etc.). At step630, in various embodiments, the engine determines whether thepractitioner will modify the generated exercise programs. If thepractitioner will modify the generated exercise programs, then at step632 in one embodiment, the engine receives the modifications and storesthem (e.g., in the system database 108 from FIG. 1 ). In variousembodiments, at step 634 the engine modifies and stores (e.g., in thesystem database 108 from FIG. 1 ) the generated exercise programs basedon the received modifications and returns to step 626 to transmit themodified exercise programs to the subject/practitioner.

If, however, the program generation engine 601 (from FIG. 2 ) determinesthat the practitioner will not modify the generated recommended exerciseprogram at step 630, then the exemplary program generation process 600ends thereafter. Additional details of the exemplary program generationprocess 600 will be explained in connection with the description ofFIGS. 18-22 . To better understand the compensation analysis and programgeneration processes, exemplary screenshots of one embodiment of thecompensation analysis and program generation system may be useful.

Exemplary Screenshots

Referring now to FIG. 7 , a screenshot of an exemplary subject rosterscreen 700 of a compensation analysis and program generation system isshown according to one embodiment of the present disclosure. In oneembodiment, the exemplary subject roster screen 700 provides a graphicalview of all of the subjects of a particular practitioner, displayingrelevant information, such as the subject name 702 or scores 704 onparticular tests (e.g., the overall score/results from a particular,previously-performed assessment test, such as 24.34 on the movementefficiency test, 56.83 on the range of motion test, etc.), in subjectdisplay blocks 706. Generally, the exemplary subject roster screen 700permits the practitioner to quickly view the practitioner's subjects andprovides access to the subject's records. In one embodiment, theexemplary subject roster screen 700 is displayed on a test performanceand data collection device 403 (from FIG. 2 ). Similarly, FIG. 8 is ascreenshot shot of an exemplary subject roster screen 800, in list view,of a compensation analysis and program generation system, according toone embodiment of the present disclosure. The information provided inexemplary subject roster screen 800, is generally the same as theinformation provided in exemplary subject roster screen 700, except thatthe information is provided in rows 802. For example, the subject name702 and scores 704 (e.g., calculated as part of the exemplary test dataanalysis and score calculation process 500 from FIG. 5 ) are the same.In various embodiments, some of the information in the two screens maybe different but it should be understood that the information andfunctionality between the screens does not change (e.g., the differentviews may display different fields of information but the informationwithin the fields remains the same). For example, by clicking on asubject's name 702 on either screen, the practitioner may access thesubject's summary screen.

Now referring to FIG. 9 , a screenshot of an exemplary subject summaryscreen 900 of a compensation analysis and program generation system isshown, according to one embodiment of the present disclosure. Generally,the exemplary subject summary screen 900 provides the detailed record ofa particular subject (e.g., subject name 702, scores 704, list 902 ofthose activities to be performed that day, summary 904 of the subject'shistorical performance, schedule 906 of the activities that the subjectis performing, etc.). In one embodiment, the exemplary subject summaryscreen 900 may be viewed by either the subject to which it correspondsor a practitioner on a test performance and data collection device 403(from FIG. 2 ). In various embodiments, the exemplary subject summaryscreen 900 is updated in real time based on information provided to thesystem by the subject and/or practitioner (e.g., as part of steps 402through 406 in FIG. 4 ) and may be modified to provide thesubject/practitioner with access to various information andfunctionality. For example, the exemplary subject summary screen 900 mayhave a test button 908 that permits the subject/practitioner to go to atest-selection screen.

Referring now to FIG. 10 , a screenshot of an exemplary test-selectionscreen 1000 of a compensation analysis and program generation system isshown, according to one embodiment of the present disclosure. Generally,the exemplary test-selection screen 1000 provides the subject and/orpractitioner with a list of tests that the subject may perform byselecting a particular test and is displayed on a test performance anddata collection device 403 (from FIG. 2 ). For example, the subject mayperform any of the assessment tests (e.g., movement efficiency test1002, movement efficiency screen 1004, range of motion test 1006, etc.),the performance tests (e.g., performance test 1008, etc.), or therecovery tests (e.g., daily test 1010, weekly test 1012, etc.). In oneembodiment, selecting a particular test on the exemplary test-selectionscreen 1000 corresponds to providing an indication to start the testperformance and data collection process at step 408 (from FIG. 4 ). Oncethe system has received an indication to start the test performance anddata collection process, generally the system displays a performance anddata collection screen.

Now referring to FIG. 11 , a screenshot of an exemplary movementefficiency test performance and data collection screen 1100 of acompensation analysis and program generation system is shown, accordingto one embodiment of the present disclosure. Similarly, FIG. 12 shows ascreenshot of an exemplary movement efficiency screen performance anddata collection screen 1200 of a compensation analysis and programgeneration system, according to one embodiment of the presentdisclosure. Finally, FIG. 13 shows a screenshot of an exemplary range ofmotion test performance and data collection screen 1300 of acompensation analysis and program generation system, according to oneembodiment of the present disclosure. Generally, the informationdisplayed and received through the performance and data collectionscreens 1100, 1200, and 1300 corresponds to the information displayedand received at steps 412 through 432 (from FIG. 4 ) on a testperformance and data collection device 403 (from FIG. 2 ). In variousembodiments, the performance and data collection screens 1100, 1200, and1300 display information regarding the particular test being performed(e.g., movement efficiency test 1102, movement efficiency screen 1202,and range of motion test 1302), the status 1104, 1204, 1304 of progresswithin that test (e.g., which task has been performed, which task willbe next, and the scores calculated as part of the exemplary test dataanalysis and score calculation process 500 from FIG. 5 ), the particulartask 1106, 1206, 1306 that is being performed, the compensation 1112,1308 to look for during performance of that task, and a place 1114,1310, 1312 to input data regarding the particular compensation. In oneembodiment, as part of the movement efficiency test or screen, thesystem provides the particular viewpoint 1108 (e.g., front, back, side,etc. of the subject) from which to view a compensation, checkpoint 1110(e.g., foot, knee, etc.) where to look for a compensation, and theparticular compensation 1112 (e.g., foot flattens, etc.) to look for inthat checkpoint 1110.

Generally, for at least the movement efficiency tests and screens, thedata received regarding a particular compensation 1112 is in binary(e.g., either “yes” a compensation is present or “no” it is not); thus,the place 1114 to input data may be a radial button that indicates “yes”or “no” regarding the compensation. For example, the practitioner mayobserve, from the front while the subject performs a 2-leg squat, thatthe subject's left foot flattens and would select the “yes” option of aradial button 1114 to provide that information to the system. In oneembodiment, as part of the range of motion test, the system provides theparticular joint or motion 1306 that should be measured (e.g., ankledorsiflexion, etc.), the optimal range of motion 1308 for that joint ormotion, and a place to enter the actual range of motion for the rightjoint 1310 and the left joint 1312. For example, a practitioner maymeasure that a subject's right ankle dorsiflexion is 10° and record thatin the appropriate field 1310 to provide that information to the system.Once the data collection is complete, the system generates an analysis,which it displays as part of a report screen.

Referring now to FIG. 14 (consisting of FIGS. 14A and 14B), screenshotsof an exemplary movement efficiency test report screen 1400A, 1400B of acompensation analysis and program generation system are shown, accordingto one embodiment of the present disclosure. Similarly, FIG. 15(consisting of FIGS. 15A and 15B) shows screenshots of an exemplarymovement efficiency screen report screen 1500A, 1500B of a compensationanalysis and program generation system, according to one embodiment ofthe present disclosure. Further, FIG. 16 (consisting of FIGS. 16A and16B) shows screenshots of an exemplary range of motion test reportscreen 1600A, 1600B of a compensation analysis and program generationsystem, according to one embodiment of the present disclosure. Finally,FIG. 17 shows a screenshot of an exemplary performance test reportscreen 1700 of a compensation analysis and program generation system,according to one embodiment of the present disclosure. In variousembodiments, the report screens 1400A, 1500A, 1600A display the overallscore 1402, 1502, 1602 that the subject received on the test, the bodypart specific scores 1404, 1504, 1604 that the subject received on thetest, and the task specific scores 1406, 1506, 1606 that the subjectreceived on the test. Additionally, in various embodiments, the reportscreens 1400B, 1500B, 1600B, 1700 display an upper and lower body index1408, 1508, 1608 to compare the subject's upper and lower body, asymmetry index 1410, 150, 1610 to compare the subject's left and rightsides, and the detailed results 1412, 1512, 1612, 1702 of the tests.Generally, the displayed scores and indices may be calculated as part ofthe exemplary test data analysis and score calculation process 500 fromFIG. 5 and viewed on a program display and feedback device 603 (fromFIG. 2 ). In one embodiment, after viewing the report screens 1400B,1500B, 1600B, the subject or practitioner may select to complete theprogram 1416, 1516, 1616, which displays the program generation screen.

Now referring to FIG. 18 , a screenshot of an exemplary programgeneration screen 1800 of a compensation analysis and program generationsystem is shown, according to one embodiment of the present disclosure.In various embodiments the exemplary program generation screen 1800displays a list of exercises 1802 that are recommended based on theresults of the subject's test performance (e.g., as part of steps 602through 626 from FIG. 6 ) on a program display and feedback device 603(from FIG. 2 ). Generally, the exercises 1802 are grouped according tothe different strategies 1804 (e.g., “restore,” “activate,” and “move”),provided for one of three different days 1806, and provided for one ofthree different settings 1808 (e.g., self-care, practitioner light, andpractitioner pro). Generally, the practitioner may edit the recommendedexercise program (e.g., as part of steps 628 through 634 from FIG. 6 ).For example, the practitioner may change the number of sets or durationof a particular exercise, add/substitute different exercises (e.g., byclicking the add exercise button 1810), or schedule the days andsettings on the program for different days of the week (e.g., byclicking the save and continue button 1812). After clicking the addexercise button 1810, a program modification screen may be shown.Similarly, after clicking the save and continue button 1812, a programscheduling screen may be shown.

Referring now to FIG. 19 , a screenshot of an exemplary programmodification screen 1900 of a compensation analysis and programgeneration system is shown, according to one embodiment of the presentdisclosure. Generally, the exemplary program modification screen 1900permits the practitioner to search 1902 or browse the exercises by bodypart 1904, on a program display and feedback device 603 (from FIG. 2 ),to find a particular exercise 1906 with which to supplement therecommended exercise program. In one embodiment, each exercise 1906includes instructions and videos 1908 that explain how to perform theexercise. The practitioner may generally assign an exercise to one orboth sides of the body 1910 before selecting to add the exercise 1912 tothe recommended exercise program. After selecting to add the exercise1912, an exercise modification screen may be displayed.

Now referring to FIG. 20 , a screenshot of an exemplary exercisemodification screen 2000 of a compensation analysis and programgeneration system is shown, according to one embodiment of the presentdisclosure. In various embodiments, the exemplary exercise modificationscreen 2000 permits the practitioner to modify the exercise, from aprogram display and feedback device 603 (from FIG. 2 ), before adding itto the recommended exercise program (e.g., by changing the week 2002that the subject should perform the exercise, the number of sets 2004 ofthe exercise that the subject should perform, the number of repetitions2006 within each set that the subject should perform, the duration 2008of repetitions, the tempo 2010 of the repetitions, etc.). Once thepractitioner is ready to add the exercise to the recommended exerciseprogram, the practitioner selects the save button 2012 and the exerciseis added to the program.

Referring now to FIG. 21 , a screenshot of an exemplary programscheduling screen 2100 of a compensation analysis and program generationsystem is shown, according to one embodiment of the present disclosure.Similarly, FIG. 22 shows a screenshot of an alternative, exemplaryprogram scheduling screen 2200 of a compensation analysis and programgeneration system, according to one embodiment of the presentdisclosure. Generally, the exemplary program scheduling screen 2100,2200 permits the practitioner to schedule the start date 2102 and theend date 2104 for the program from a program display and feedback device603 (from FIG. 2 ). Additionally, the practitioner may select theparticular setting 2106 (e.g., self-care, practitioner light,practitioner pro) and program day 2108 that a subject is to perform on aparticular date. Thus, the practitioner modifies the recommendedexercise program to provide it to the subject so that the subject maycomplete the recommended exercise program.

Now referring to FIG. 23 , a screenshot of an exemplary program summaryscreen 2300, as displayed in a mobile application on a mobile device, ofa compensation analysis and program generation system is shown,according to one embodiment of the present disclosure. Generally, theexemplary program summary screen 2300 may be displayed on a programdisplay and feedback device 603 (from FIG. 2 ) and permits a subject toreadily view and keep track of the exercises groups, exercises, otherdrills, etc. that the subject is scheduled to perform that day tofacilitate the subject's completion of the recommended exercise program.For example, the exemplary program summary screen 2300 indicates thoseexercise groups that have yet to be performed (e.g., movement prep 2302)and those drills that have already been completed as indicated by thesubject (e.g., recovery and readiness test 2304). Similarly, in oneembodiment, by selecting an exercise group (e.g., movement prep 2302),the subject may view the exercises that comprise that group. Forexample, FIG. 24 shows a screenshot of an exemplary exercise list screen2400, as displayed in a mobile application, of a compensation analysisand program generation system, according to one embodiment of thepresent disclosure. Generally, the exemplary exercise list screen 2400may be displayed on a program display and feedback device 603 (from FIG.2 ) and permits a subject to readily view and keep track of the specificexercises (e.g., right calf foam roll 2402) within an exercise groupthat the subject is scheduled to perform that day. Further, by selectinga specific exercise (e.g., right calf foam roll 2402), the subject mayview details regarding that exercise. Thus, FIG. 25 shows a screenshotof an exemplary exercise list screen 2500, in detail view as displayedin a mobile application, of a compensation analysis and programgeneration system, according to one embodiment of the presentdisclosure. Generally, the exemplary exercise list screen 2500 may bedisplayed on a program display and feedback device 603 (from FIG. 2 )and permits a subject to readily view information (e.g., instructions,instructional videos, etc.) regarding a specific exercise (e.g., rightcalf foam roll 2402). After completing a recommended exercise program,the subject may be curious regarding their progress in that sameprogram.

Referring now to FIG. 26 , a screenshot of an exemplary test result andprogress summary screen 2600, as displayed in a mobile application, of acompensation analysis and program generation system is shown, accordingto one embodiment of the present disclosure. In various embodiments, theexemplary test progress summary screen 2600 permits a user to view theirprogress regarding a particular test (e.g., range of motion, etc.) orrecommended exercise program and may be displayed on a program displayand feedback device 603 (from FIG. 2 ). Similarly, FIG. 27 shows ascreenshot of an exemplary weekly progress summary screen 2700, asdisplayed in a mobile application, of a compensation analysis andprogram generation system, according to one embodiment of the presentdisclosure. In various embodiments, the exemplary weekly progresssummary screen 2600 permits a user to view their progress from the pastweek in regards to a particular recommended exercise program and may bedisplayed on a program display and feedback device 603 (from FIG. 2 ).In another embodiment, the exemplary weekly progress summary screen 2600may be expanded to show a user's progress from any period of time (e.g.,week, month, 3 months, half a year, etc.). Thus, the disclosedcompensation analysis and program generation system facilitatescompensation analysis and targeted, corrective program generationprocesses.

From the foregoing, it will be understood that various aspects of theprocesses described herein are software processes that execute oncomputer systems that form parts of the system. Accordingly, it will beunderstood that various embodiments of the system described herein aregenerally implemented as specially-configured computers includingvarious computer hardware components and, in many cases, significantadditional features as compared to conventional or known computers,processes, or the like, as discussed in greater detail herein.Embodiments within the scope of the present disclosure also includecomputer-readable media for carrying or having computer-executableinstructions or data structures stored thereon. Such computer-readablemedia can be any available media which can be accessed by a computer, ordownloadable through communication networks. By way of example, and notlimitation, such computer-readable media can comprise various forms ofdata storage devices or media such as RAM, ROM, flash memory, EEPROM,CD-ROM, DVD, or other optical disk storage, magnetic disk storage, solidstate drives (SSDs) or other data storage devices, any type of removablenon-volatile memories such as secure digital (SD), flash memory, memorystick, etc., or any other medium which can be used to carry or storecomputer program code in the form of computer-executable instructions ordata structures and which can be accessed by a general purpose computer,special purpose computer, specially-configured computer, mobile device,etc.

When information is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such a connection isproperly termed and considered a computer-readable medium. Combinationsof the above should also be included within the scope ofcomputer-readable media. Computer-executable instructions comprise, forexample, instructions and data which cause a general purpose computer,special purpose computer, or special purpose processing device such as amobile device processor to perform one specific function or a group offunctions.

Those skilled in the art will understand the features and aspects of asuitable computing environment in which aspects of the disclosure may beimplemented. Although not required, some of the embodiments of theclaimed inventions may be described in the context ofcomputer-executable instructions, such as program modules or engines, asdescribed earlier, being executed by computers in networkedenvironments. Such program modules are often reflected and illustratedby flow charts, sequence diagrams, exemplary screen displays, and othertechniques used by those skilled in the art to communicate how to makeand use such computer program modules. Generally, program modulesinclude routines, programs, functions, objects, components, datastructures, application programming interface (API) calls to othercomputers whether local or remote, etc. that perform particular tasks orimplement particular defined data types, within the computer.Computer-executable instructions, associated data structures and/orschemas, and program modules represent examples of the program code forexecuting steps of the methods disclosed herein. The particular sequenceof such executable instructions or associated data structures representexamples of corresponding acts for implementing the functions describedin such steps.

Those skilled in the art will also appreciate that the claimed and/ordescribed systems and methods may be practiced in network computingenvironments with many types of computer system configurations,including personal computers, smartphones, tablets, hand-held devices,multi-processor systems, microprocessor-based or programmable consumerelectronics, networked PCs, minicomputers, mainframe computers, and thelike. Embodiments of the claimed invention are practiced in distributedcomputing environments where tasks are performed by local and remoteprocessing devices that are linked (either by hardwired links, wirelesslinks, or by a combination of hardwired or wireless links) through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

An exemplary system for implementing various aspects of the describedoperations, which is not illustrated, includes a computing deviceincluding a processing unit, a system memory, and a system bus thatcouples various system components including the system memory to theprocessing unit. The computer will typically include one or more datastorage devices for reading data from and writing data to. The datastorage devices provide nonvolatile storage of computer-executableinstructions, data structures, program modules, and other data for thecomputer.

Computer program code that implements the functionality described hereintypically comprises one or more program modules that may be stored on adata storage device. This program code, as is known to those skilled inthe art, usually includes an operating system, one or more applicationprograms, other program modules, and program data. A user may entercommands and information into the computer through keyboard, touchscreen, pointing device, a script containing computer program codewritten in a scripting language or other input devices (not shown), suchas a microphone, etc. These and other input devices are often connectedto the processing unit through known electrical, optical, or wirelessconnections.

The computer that affects many aspects of the described processes willtypically operate in a networked environment using logical connectionsto one or more remote computers or data sources, which are describedfurther below. Remote computers may be another personal computer, aserver, a router, a network PC, a peer device or other common networknode, and typically include many or all of the elements described aboverelative to the main computer system in which the inventions areembodied. The logical connections between computers include a local areanetwork (LAN), a wide area network (WAN), virtual networks (WAN or LAN),and wireless LANs (WLAN) that are presented here by way of example andnot limitation. Such networking environments are commonplace inoffice-wide or enterprise-wide computer networks, intranets, and theInternet.

When used in a LAN or WLAN networking environment, a computer systemimplementing aspects of the invention is connected to the local networkthrough a network interface or adapter. When used in a WAN or WLANnetworking environment, the computer may include a modem, a wirelesslink, or other mechanisms for establishing communications over the widearea network, such as the Internet. In a networked environment, programmodules depicted relative to the computer, or portions thereof, may bestored in a remote data storage device. It will be appreciated that thenetwork connections described or shown are exemplary and othermechanisms of establishing communications over wide area networks or theInternet may be used.

While various aspects have been described in the context of a preferredembodiment, additional aspects, features, and methodologies of theclaimed inventions will be readily discernible from the descriptionherein, by those of ordinary skill in the art. Many embodiments andadaptations of the disclosure and claimed inventions other than thoseherein described, as well as many variations, modifications, andequivalent arrangements and methodologies, will be apparent from orreasonably suggested by the disclosure and the foregoing descriptionthereof, without departing from the substance or scope of the claims.Furthermore, any sequence(s) and/or temporal order of steps of variousprocesses described and claimed herein are those considered to be thebest mode contemplated for carrying out the claimed inventions. Itshould also be understood that, although steps of various processes maybe shown and described as being in a preferred sequence or temporalorder, the steps of any such processes are not limited to being carriedout in any particular sequence or order, absent a specific indication ofsuch to achieve a particular intended result. In most cases, the stepsof such processes may be carried out in a variety of different sequencesand orders, while still falling within the scope of the claimedinventions. In addition, some steps may be carried out simultaneously,contemporaneously, or in synchronization with other steps.

The embodiments were chosen and described in order to explain theprinciples of the claimed inventions and their practical application soas to enable others skilled in the art to utilize the inventions andvarious embodiments and with various modifications as are suited to theparticular use contemplated. Alternative embodiments will becomeapparent to those skilled in the art to which the claimed inventionspertain without departing from their spirit and scope. Accordingly, thescope of the claimed inventions is defined by the appended claims ratherthan the foregoing description and the exemplary embodiments describedtherein.

What is claimed is:
 1. A method, comprising the steps of: receiving anelectronic request at an electronic computing device for completion of aphysical evaluation test relating to an athlete; retrieving a predefinedtemplate from a system database corresponding to the physical evaluationtest, the predefined template comprising data relating to a plurality ofphysical movement tasks for performance by the athlete, each physicalmovement task comprising a particular static, transitional, or dynamicmovement and being associated with one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of a presence of theparticular identifiable compensation during completion by the athlete ofthe respective physical movement task and a second outcome indicative ofan absence of the particular identifiable compensation during completionby the athlete of the respective physical movement task, wherein theidentifiable compensation is present when a particular body part of theathlete moves in a predefined manner, whereby the movement indicatesthat the athlete possesses a particular physical deficiency; displaying,via the electronic computing device, the plurality of physical movementtasks for performance by the athlete; receiving, for at least one of theplurality of physical movement tasks, a selection of either the firstoutcome or the second outcome of the particular identifiablecompensation; saving, via the electronic computing device, the receivedselection of either the first outcome or the second outcome of theparticular identifiable compensation in the system database inassociation with an instance of the physical evaluation test and therespective physical movement task; and automatically generating at leastone exercise program for the athlete, wherein the at least one exerciseprogram is specifically tailored to the athlete according to one or morepredefined program generation rules based on the received selection ofeither the first outcome or the second outcome of the particularidentifiable compensation, and wherein the athlete performs the at leastone exercise program.
 2. The method of claim 1, further comprising thesteps of: determining, based on the predefined template, whetherselections of either the first outcome or the second outcome have beenreceived for all of the one or more identifiable compensations relatingto the respective physical movement task; upon determination that one ormore selections have not been received for one or more particularidentifiable compensations, requesting, via the electronic computingdevice, selection of either the first outcome or the second outcome forthe one or more particular identifiable compensations; receiving aselection of either the first outcome or the second outcome for the oneor more particular identifiable compensations; and saving, via theelectronic computing device, the received selection of either the firstoutcome or the second outcome for the one or more particularidentifiable compensations in the system database in association with aninstance of the physical evaluation test and the respective physicalmovement task.
 3. The method of claim 1, further comprising the stepsof: determining, based on the predefined template, whether each of theplurality of physical movement tasks has been performed by the athlete;upon determination that one or more particular physical movement taskshave not been performed by the athlete, displaying, via the electroniccomputing device, the one or more particular physical movement tasks forperformance by the athlete; receiving, for the one or more particularphysical movement tasks, a selection of either the first outcome or thesecond outcome of the particular identifiable compensation; and saving,via the electronic computing device, the received selection of eitherthe first outcome or the second outcome of the particular identifiablecompensation in the system database in association with an instance ofthe physical evaluation test and the respective physical movement task.4. The method of claim 1, wherein the electronic computing devicecomprises a perceptual computing device.
 5. The method of claim 4,wherein the receiving step further comprises receiving, from theperceptual computing device, electronic data for at least one of theplurality of physical movement tasks, and determining, based on theelectronic data, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation.
 6. The method ofclaim 1, wherein the receiving step further comprises: recording, via aperceptual computing device, performance data corresponding to aperformance by the athlete of the at least one of the plurality ofphysical movement tasks; determining, via the perceptual computingdevice, whether the first outcome or the second outcome of theparticular identifiable compensation corresponds to the performancedata; and selecting, based upon determining whether the first outcome orthe second outcome of the particular identifiable compensationcorresponds to the performance data, either the first outcome or thesecond outcome of the particular identifiable compensation.
 7. A method,comprising the steps of: receiving an electronic request at anelectronic computing device for completion of a physical evaluation testrelating to a test subject; retrieving a predefined template from asystem database corresponding to the physical evaluation test, thepredefined template comprising data relating to a plurality of physicalmovement tasks for performance by the test subject, each physicalmovement task being associated with one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of a presence of theparticular identifiable compensation during completion by the testsubject of the respective physical movement task and a second outcomeindicative of an absence of the particular identifiable compensationduring completion by the test subject of the respective physicalmovement task; displaying, via the electronic computing device, theplurality of physical movement tasks for performance by the testsubject; receiving, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; saving, via theelectronic computing device, the received selection of either the firstoutcome or the second outcome of the particular identifiablecompensation in the system database in association with an instance ofthe physical evaluation test and the respective physical movement task;and automatically generating at least one exercise program for the testsubject, wherein the at least one exercise program is specificallytailored to the test subject according to one or more predefined programgeneration rules based on the received selection of either the firstoutcome or the second outcome of the particular identifiablecompensation, and wherein the test subject performs the at least oneexercise program.
 8. The method of claim 7, further comprising the stepsof: determining, based on the predefined template, whether selections ofeither the first outcome or the second outcome have been received forall of the one or more identifiable compensations relating to therespective physical movement task; upon determination that one or moreselections have not been received for one or more particularidentifiable compensations, requesting, via the electronic computingdevice, selection of either the first outcome or the second outcome forthe one or more particular identifiable compensations; receiving aselection of either the first outcome or the second outcome for the oneor more particular identifiable compensations; and saving, via theelectronic computing device, the received selection of either the firstoutcome or the second outcome for the one or more particularidentifiable compensations in the system database in association with aninstance of the physical evaluation test and the respective physicalmovement task.
 9. The method of claim 7, further comprising the stepsof: determining, based on the predefined template, whether each of theplurality of physical movement tasks has been performed by the testsubject; upon determination that one or more particular physicalmovement tasks have not been performed by the test subject, displaying,via the electronic computing device, the one or more particular physicalmovement tasks for performance by the test subject; receiving, for theone or more particular physical movement tasks, a selection of eitherthe first outcome or the second outcome of the particular identifiablecompensation; and saving, via the electronic computing device, thereceived selection of either the first outcome or the second outcome ofthe particular identifiable compensation in the system database inassociation with an instance of the physical evaluation test and therespective physical movement task.
 10. The method of claim 7, whereinthe physical movement task comprises a particular transitional movement.11. The method of claim 7, wherein the physical movement task comprisesa particular dynamic movement.
 12. The method of claim 7, wherein thephysical movement task comprises a measurement of a range of motion of aparticular joint of the test subject.
 13. The method of claim 7, whereinthe physical movement task comprises a particular static movement. 14.The method of claim 7, wherein the identifiable compensation is presentwhen a particular body part of the test subject moves in a predefinedmanner, whereby the movement indicates that the test subject possesses aparticular physical deficiency.
 15. The method of claim 7, wherein theelectronic computing device comprises a perceptual computing device. 16.The method of claim 15, wherein the receiving step further comprisesreceiving, from the perceptual computing device, electronic data for atleast one of the plurality of physical movement tasks, and determining,based on the electronic data, a selection of either the first outcome orthe second outcome of the particular identifiable compensation.
 17. Themethod of claim 7, wherein the receiving step further comprises:recording, via a perceptual computing device, performance datacorresponding to a performance by the test subject of the at least oneof the plurality of physical movement tasks; determining, via theperceptual computing device, whether the first outcome or the secondoutcome of the particular identifiable compensation corresponds to theperformance data; and selecting, based upon determining whether thefirst outcome or the second outcome of the particular identifiablecompensation corresponds to the performance data, either the firstoutcome or the second outcome of the particular identifiablecompensation.
 18. A system, comprising: an electronic computing device;a database having stored therein one or more predefined templatescorresponding to one or more physical evaluation tests; and a processoroperatively connected with the electronic computing device and thedatabase, the processor operative to: receive an electronic request fromthe electronic computing device for completion of a particular physicalevaluation test relating to a test subject; retrieve a particularpredefined template from the database corresponding to the particularphysical evaluation test, the particular predefined template comprisingdata relating to a plurality of physical movement tasks for performanceby the test subject, each physical movement task being associated withone or more identifiable compensations, each identifiable compensationhaving only two possible outcomes comprising a first outcome indicativeof a presence of the particular identifiable compensation duringcompletion by the test subject of the respective physical movement taskand a second outcome indicative of an absence of the particularidentifiable compensation during completion by the test subject of therespective physical movement task; display, via the electronic computingdevice, the plurality of physical movement tasks for performance by thetest subject; receive, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; save, in thedatabase, the received selection of either the first outcome or thesecond outcome of the particular identifiable compensation inassociation with an instance of the particular physical evaluation testand the respective physical movement task; and automatically generate atleast one exercise program for the test subject, wherein the at leastone exercise program is specifically tailored to the test subjectaccording to one or more predefined program generation rules based onthe received selection of either the first outcome or the second outcomeof the particular identifiable compensation, and wherein the testsubject performs the at least one exercise program.
 19. The system ofclaim 18, wherein the processor is further operative to: determine,based on the particular predefined template, whether selections ofeither the first outcome or the second outcome have been received forall of the one or more identifiable compensations from the respectivephysical movement task; upon determination that one or more selectionshave not been received for one or more particular identifiablecompensations, request, via the electronic computing device, selectionof either the first outcome or the second outcome for the one or moreparticular identifiable compensations; receive a selection of either thefirst outcome or the second outcome for the one or more particularidentifiable compensations; and save, in the database, the receivedselection of either the first outcome or the second outcome for the oneor more particular identifiable compensations in association with aninstance of the particular physical evaluation test and the respectivephysical movement task.
 20. The system of claim 18, wherein theprocessor is further operative to: determine, based on the particularpredefined template, whether each of the plurality of physical movementtasks has been performed by the test subject; upon determination thatone or more particular physical movement tasks have not been performedby the test subject, display, via the electronic computing device, theone or more particular physical movement tasks for performance by thetest subject; receive, for the one or more particular physical movementtasks, a selection of either the first outcome or the second outcome ofthe particular identifiable compensation; and save, in the database, thereceived selection of either the first outcome or the second outcome ofthe particular identifiable compensation in association with an instanceof the particular physical evaluation test and the respective physicalmovement task.
 21. The system of claim 18, wherein the particularphysical evaluation test comprises a first particular physicalevaluation test, the particular predefined template comprises a firstpredefined template, and the processor is further operative to: receivean electronic request from the electronic computing device forcompletion of a second particular physical evaluation test relating tothe test subject; retrieve a second particular predefined template fromthe database corresponding to the second particular physical evaluationtest, the second particular predefined template comprising data relatingto a plurality of physical movement tasks for performance by the testsubject, each physical movement task having one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of a presence of theparticular identifiable compensation during successful completion by thetest subject of the respective physical movement task and a secondoutcome indicative of an absence of the particular identifiablecompensation during successful completion by the test subject of therespective physical movement task; display, via the electronic computingdevice, the plurality of physical movement tasks for performance by thetest subject; receive, for at least one of the plurality of physicalmovement tasks, a selection of either the first outcome or the secondoutcome of the particular identifiable compensation; and save, in thedatabase, the received selection of either the first outcome or thesecond outcome of the particular identifiable compensation inassociation with an instance of the second particular physicalevaluation test and the respective physical movement task.
 22. Thesystem of claim 18, wherein the physical movement task is selected froma group comprising a particular static movement, a particulartransitional movement, a particular dynamic movement, or a measurementof a range of motion of a particular joint of the test subject.
 23. Thesystem of claim 18, wherein the identifiable compensation is presentwhen a particular body part of the test subject moves in a predefinedmanner, whereby the movement indicates that the test subject possesses aparticular physical deficiency.
 24. The system of claim 18, furthercomprising a perceptual computing device operatively connected with theprocessor, the processor further operative to: record, via theperceptual computing device, a performance by the test subject of the atleast one of the plurality of physical movement tasks; determine, viathe perceptual computing device, whether the first outcome or the secondoutcome of the particular identifiable compensation corresponds to theperformance by the test subject of the at least one of the plurality ofphysical movement tasks; and select, based upon determining whether thefirst outcome or the second outcome of the particular identifiablecompensation corresponds to the performance, either the first outcome orthe second outcome of the particular identifiable compensation.
 25. Amethod, comprising the steps of: receiving an electronic request at anelectronic computing device for completion of a physical evaluation testrelating to a test subject; retrieving a predefined template from asystem database corresponding to the physical evaluation test, thepredefined template comprising data relating to a plurality of physicalmovement tasks for performance by the test subject, each physicalmovement task being associated with one or more identifiablecompensations, each identifiable compensation having only two possibleoutcomes comprising a first outcome indicative of a presence of theparticular identifiable compensation during completion by the testsubject of the respective physical movement task and a second outcomeindicative of an absence of the particular identifiable compensationduring completion by the test subject of the respective physicalmovement task; displaying, via the electronic computing device, theplurality of physical movement tasks for performance by the testsubject; recording, via a sensor, performance data corresponding to theperformance by the test subject of at least one of the plurality ofphysical movement tasks; identifying, from the performance data, eitherthe first outcome or the second outcome of the particular identifiablecompensation; saving the identified first outcome or second outcome ofthe particular identifiable compensation in the system database inassociation with an instance of the physical evaluation test and therespective physical movement task; and automatically generating at leastone exercise program for the test subject, wherein the at least oneexercise program is specifically tailored to the test subject accordingto one or more predefined program generation rules based on theidentified first outcome or second outcome of the particularidentifiable compensation, and wherein the test subject performs the atleast one exercise program.
 26. The method of claim 25, wherein thesensor is selected from a group comprising a video camera, amotion-sensing camera, or a perceptual computing device.
 27. A method,comprising the steps of: receiving an electronic request at anelectronic computing device for completion of a physical evaluation testrelating to an athlete; retrieving a predefined template from a systemdatabase corresponding to the physical evaluation test, the predefinedtemplate comprising data relating to a plurality of physical movementtasks for performance by the athlete, each physical movement taskcomprising a particular static, transitional, or dynamic movement andbeing associated with one or more identifiable compensations, eachidentifiable compensation having only two possible outcomes comprising afirst outcome indicative of a presence of the particular identifiablecompensation during completion by the athlete of the respective physicalmovement task and a second outcome indicative of an absence of theparticular identifiable compensation during completion by the athlete ofthe respective physical movement task, wherein the identifiablecompensation is present when a particular body part of the athlete movesin a predefined manner, whereby the movement indicates that the athletepossesses a particular physical deficiency; displaying, via theelectronic computing device, the plurality of physical movement tasksfor performance by the athlete; receiving, for at least one of theplurality of physical movement tasks, a selection of either the firstoutcome or the second outcome of the particular identifiablecompensation; and automatically generating at least one exercise programfor the athlete, wherein the at least one exercise program isspecifically tailored to the athlete according to one or more predefinedprogram generation rules based on the received selection of either thefirst outcome or the second outcome of the particular identifiablecompensation, and wherein the athlete performs the at least one exerciseprogram.